Cosmic Solo
An AI-powered astrology app that helps you decide, not just scroll.
- Role
- Solo — design, engineering, product
- Timeframe
- 2025 – 2026, ongoing
- Stack
- React NativeExpo SDK 54TypeScriptRedux ToolkitReact Navigation 6expo-secure-storeastronomiaOpenAIEAS Build
- Links
- App Storecosmicsolo:// deep link

Why this exists
Most astrology apps are horoscope feeds — entertainment tuned for scrolling. When people actually use astrology in their lives, though, they use it to decide something: take the job, have the conversation, sign the lease, send the message.
Cosmic Solo is built for that moment. You give it your birth data once, it computes your natal chart locally, and then it lets you ask real questions. The answers are grounded in your chart and today's transits, not a generic "Leos will feel emotional today."
Interesting calls
- 01
Compute the chart on-device, not in the cloud
Used astronomia for planetary positions rather than routing birth data to a paid API. Lower latency, no third-party handling of birth date/time/location, and a meaningfully cheaper unit cost per user. Trade-off: larger bundle and no server-side backfill — acceptable for a consumer app.
- 02
Open-ended questions, not preset prompts
The first prototype had a list of canned questions ("Should I take this job?"). It tested poorly — people want to ask their own thing. Shipping the free-form Ask screen meant wiring the user's full chart state into the prompt, but kept the product honest to how people actually think.
- 03
Secure storage for birth data
Birth date/time/location is the most identifying thing the app ever touches. Put it behind expo-secure-store rather than AsyncStorage, even though the app runs offline and never transmits it.
- 04
Three EAS environments from day one
dev / preview / production with distinct bundle IDs. Friction up front, but I can hand TestFlight builds to friends without worrying about data collision with my local dev installs. OTA updates via EAS Update on the preview track.
- 05
Deep linking scheme early
cosmicsolo:// routes to every major screen (home, chart, ask, calendar, profile, onboarding). Costs nothing to add now; would be painful to retrofit later when I want to share "here's what today looks like for you" links.
Five screens, five decisions
01Home
The daily view answers one question first — what's today actually about — before offering anything else. Transits are ranked by impact on the user's chart, not alphabetically.
02Chart
Full natal chart rendered from on-device computation. Tapping any planet or house opens a plain-English explanation rather than jargon — the bet is that beginners outnumber experts.
03Ask The Cosmos
Free-form input. The prompt that goes to the model includes the user's natal chart, today's transits, and the question — not the question alone. That's why the answers feel specific.
04Calendar
Timing matters as much as the decision. The calendar surfaces favorable and unfavorable days for categories the user cares about, not every aspect that fires.
05Profile
Birth data lives here, behind secure storage. One profile for now; the architecture already supports multiple charts for compatibility readings, gated behind a later feature flag.
How the pieces fit
Everything above the guidance layer runs on-device. The only network call is the grounded prompt to the language model — no birth data leaves the phone in plain text.
Honest outcome
Publishing-ready is further than I'd hoped. The engine works, the flows feel right, and the UI holds up — but the long tail of App Store readiness (privacy policy wording, delete-account flow, rate limits, crash-free onboarding on older devices) is its own project. I'd rather ship it honestly than ship it fast.
The thing I'd tell someone building the same type of app: resist the urge to gate everything behind an account. On-device chart computation plus a single profile got me 90% of the product at 10% of the backend cost. The account system can come when it's needed for a feature users actually ask for, not for a growth funnel.