AstroAI — the AI does the reading, grounded in a real chart
AstroAI is a polished Flutter app that bundles three divination systems — Astrology, Tarot, and Numerology — across Western (tropical) and Vedic (sidereal) traditions. Every reading is generated by an LLM grounded in a real, locally-computed chart — not static content, not a human-astrologer marketplace, and not a paid third-party astrology API.
Under the hood is a real deterministic computation backbone — public-domain VSOP87 ephemeris charts, nakshatra and Vimshottari dasha, Guna Milan / Ashtakoot scoring, Pythagorean numerology, and a seeded 78-card tarot draw — with an AI narration layer on top. Not a thin GPT wrapper.
Why buyers love it
- Functional AI, keys never in the app — dual OpenAI + Gemini, switchable with one server env var; every model call runs through a JWT-authenticated Next.js
/api/ai/* gateway. - Self-contained — no paid astrology/kundli APIs and no AGPL Swiss Ephemeris (incompatible with closed-source apps). Charts compute on-device.
- Runs offline — the whole app works against bundled mock data, so you can preview it instantly with zero backend.
- Monetization built in — RevenueCat subscriptions + AdMob, with lean-free gating.
- AI safety framing — a persistent “for reflection & entertainment” disclaimer, no death/doom predictions, no medical/legal/financial directives, crisis sensitivity.
Demo
Download the demo APK (Android): astroai-demo.apk
The app also runs fully offline (mock mode) so reviewers can launch it in seconds; the demo APK points at our hosted backend for live AI. There are no seeded credentials: sign in live with email, guest, or Google/Apple, or tap “Explore a sample chart.”
Features
- Worldwide birthplace search — 34,000+ cities bundled offline, with the real IANA time zone per city so DST is applied to the birth moment
- Western + Vedic birth charts (whole-sign + Placidus, aspects, Rashi/Lagna/Nakshatra)
- Vimshottari dasha timeline
- AI birth-chart deep-dive
- ❤️ Compatibility — synastry + Vedic Guna Milan
- Tarot spreads (single / 3-card / Celtic Cross)
- Numerology (Life Path, Expression, Soul Urge, Personality, Birthday)
- Ask-the-stars AI chat
- Daily & weekly horoscope (free tier)
- Reading + tarot history with offline cache
- Google + Apple + guest sign-in (Apple iOS-only)
- ☁️ Cloud sync of profiles + history for accounts
- RevenueCat subscriptions + AdMob
- Celestial Editorial design (dark, glassmorphism, Playfair Display + DM Sans)
- ✨ Server-side AI safety framing
Tech stack
- Flutter stable (Dart 3.12+), Riverpod 3, GoRouter, Hive, freezed/json_serializable
- Public-domain VSOP87 ephemeris (local, royalty-free)
- Next.js 16 (App Router, TypeScript) on Vercel + Prisma 7 + Neon Postgres
- JWT auth via jose; zod validation
- OpenAI + Google Gemini (server-side, switchable)
- RevenueCat (subscriptions) + Google Mobile Ads (AdMob)
What’s included
- Full Flutter source (
lib/) + the full Next.js backend source (backend/) - The deterministic computation engines (ephemeris, Western, Vedic, numerology, tarot) — unit-tested
- Hive offline cache + mock layer (offline mode) and Prisma/Neon cloud sync
- The
/api/ai/* gateway (dual provider, JWT, safety prompt, rate limiting, caching) - Accounts (email + Google/Apple + guest), RevenueCat (+ webhook), AdMob
- Celestial Editorial design system, seed data, and full documentation
- 6 months email support, lifetime updates
Requirements
- Flutter (current stable, Dart 3.12+; built on Flutter 3.44 / Dart 3.12)
- A Neon Postgres + Vercel account for the backend
- An OpenAI or Gemini API key (your spend)
- Optional: RevenueCat + AdMob (free tiers)
- Apple Developer + Google Play Console for distribution
Quick setup
-
flutter pub get and dart run build_runner build --delete-conflicting-outputs - Run offline:
flutter run --dart-define=ASTROAI_BACKEND_URL= - Deploy
backend/ to Vercel (Root Directory backend); set Neon + AI env vars; migrations auto-run on build - Point the app at your backend with
--dart-define=ASTROAI_BACKEND_URL=https://your-app.vercel.app - Optional: add your RevenueCat
pro entitlement + key and AdMob ids
Pricing
This is the source-code license. The app sells in-app Pro via RevenueCat (suggested ~$4.99/mo, ~$29.99/yr, ~$49.99 lifetime), which you keep 100% of.
Changelog
1.1.0 — 21 August 2026
- New: worldwide birthplace search — 34,000+ cities bundled offline (GeoNames, CC BY 4.0), replacing the 7-city preset picker. Matching ignores accents, so “zurich” finds “Zürich”.
- Fixed: daylight saving is now applied to the birth moment. Every city carries its IANA time zone and the UTC offset is resolved at the birth instant, so a July birth in New York is EDT instead of EST — the old one-hour error could shift the Ascendant into a different rising sign.
- Fixed: profile cloud sync could shift the stored birth time when the backend ran in a non-UTC time zone.
- Fixed: release builds crashed on launch — an outdated WorkManager pulled in by the ads SDK was being stripped by R8.
- Updated: Next.js 16, Prisma 7, OpenAI SDK 7, Zod 4, TypeScript 7, Riverpod 3.4, flutter_secure_storage 11.
- Requires: Dart 3.12+ (Flutter 3.44+), Android compileSdk 37, Node 22.12+ for the backend.
1.0.0 — 16 June 2026
Support
Email devsnack26@gmail.com · WhatsApp +855 96 741 3911 · 6 months bundled.