A playful lens on the tape
Cosmo Trader
A stock and portfolio tracker that overlays real market data with zodiac profiles, moon phases, Mercury retrograde windows, cosmic correlations, and a clear entertainment-only boundary.
- Client
- SwiftUI iPhone app and WidgetKit extension
- Market data
- Typed quote services, caching, and portfolio import
- Astrology
- Deterministic date, phase, transit, and compatibility engines
- Backend
- Firebase identity plus a FastAPI and Firestore service surface
The project
What it does
Cosmo Trader takes the language and visual density of a market terminal and crosses it with the irreverence of a horoscope app. A holding gets a zodiac sign from a founding date, charts can carry lunar and retrograde overlays, and a portfolio can receive a shareable cosmic read. The app repeatedly states the important part: astrology is not a trading signal.
Real quote and historical data stay separate from the entertainment layer. Typed services fetch, cache, and normalize market records. Deterministic astronomy and astrology services calculate phases, sign seasons, transits, and compatibility. View models then compose those sources into charts, cards, horoscopes, portfolio diagnostics, and widget snapshots.
Built around
Product principles
Real data, playful framing
Quotes and holdings are factual inputs; the cosmic interpretation is labeled entertainment.
Deep-history charts
Price history can be aligned with dated moon phases, retrograde windows, and company cycles.
Portfolio import without trading
Holdings can be parsed and tracked, but the product has no brokerage execution path.
A deliberate signal boundary
Language and compliance guards prevent astrology or model copy from posing as financial advice.
System architecture
How the system moves
Market facts and cosmic interpretation travel through separate services before a view model combines them. That makes it possible to audit a price, test an astronomical calculation, and govern the final language independently.
Market fact to cosmic card
-
01 · Inputs
Quotes, history, and holdings
Remote market APIs, portfolio files, manual shares, and cached records enter through typed adapters.
-
02 · Data services
Normalize, cache, diagnose
Quote clients and history caches establish coverage, freshness, and a stable stock model.
-
03 · Astro engines
Phases, signs, and transits
Deterministic services compute the entertainment context from dates and orbital calendars.
-
04 · Framing
View models and language policy
Market and astro context are combined under not-financial-advice and signal-framing rules.
-
05 · Experience
Charts, portfolio, horoscope
SwiftUI renders correlation timelines, discovery, readings, roasts, and diagnostics.
-
06 · Surfaces
Widget, notifications, optional cloud
Bounded summaries reach the home screen while profile and referral state can use the backend.
The architecture preserves a non-negotiable distinction: market values can be factual, but any astrological correlation remains an entertainment overlay and never becomes an execution signal.
Keep exploring