What the app does

•     Deterministic market replay: repeatable replays, one time anchor across 1m to 1W, and quality checks on practice scenarios.

•     Web app: the same Compose UI compiled to WebAssembly, with desktop layouts, the TradingView chart and Stripe billing.

•     Live trading events: 60-minute venue competitions on one server clock, with a live projector leaderboard, a final-results ceremony and verifiable certificates.

•     AI Mentor (Gemini): macro and fundamental context at the historical date, with outcome-leak guards, cost caps and model failover.

•     Ranking, leagues and tournaments: skill ratings in PostgreSQL, monthly seasons, user-hosted tournaments and daily trade caps.

•     Analytics for traders: equity curve, drawdown, win rate, streaks, R-multiples, and breakdowns by session, weekday and instrument.

•     Social layer: profiles, followers, DMs, community chat, a public trade feed and moderation.

•     Monetisation: server-verified subscriptions (Adapty on mobile, Stripe on web), a referral program and an affiliate program with payouts.

Trader Admin: the business side

An internal panel on UI Bakery (React + TypeScript) over the same Postgres database.

•     Live Events: event setup, START/blackout/STOP, score adjustments, Excel export and a full-screen projector view.

•     Growth and acquisition: cohort retention, onboarding funnel, and installs and users by channel and country.

•     Monetisation: signup-to-churn funnel, MRR, ARPU and paywall conversion, with test and granted premium excluded.

•     Technical health: crashes per app version, chart load time and failed saves.

•     Affiliates and trust: partner payouts, plus spam and duplicate-account flags.

Engineering highlights

•     Thin client: business rules live in PostgreSQL functions behind row-level security, shared by all three platforms.

•     Web without a fork: browser implementations of every platform API; API keys stay server-side behind an authenticated proxy.

•     Safe changes with live users: versioned server functions, a config table for tunables, and rehearsed migrations.

•     Idempotent writes: retries only for provably safe operations, using advisory locks and match-and-return logic.