-
-
Alpha Gym frames investing as judgment training: replay markets, debate with AI, decide first, then review outcomes.
-
Market Replay turns past market snapshots into judgment drills with hidden future prices and outcome-based feedback.
-
The decision workbench combines K-line charts, MA, Bollinger Bands, volume, KD, MACD, and a fixed hover inspector.
-
Live Desk builds a current-market workbench from a ticker or company search, then saves the decision for later review.
-
A historical AAPL drill hides future prices while showing chart structure, indicators, and as-of evidence for a 30-day call.
-
Portfolio Lab lets users manually add, edit, and review investment decisions made inside or outside the app.
-
Portfolio Lab tracks live and manual decisions with entry price, confidence, rationale, AI agreement, and review notes.
-
Review Center separates practice answers from live judgments so users can inspect accuracy, confidence, and blind spots.
Inspiration
Alpha Gym started from a frustration I have with most investing tools: they give an answer too quickly. In the AI era, that problem gets even sharper. A model can produce a confident-looking market thesis in seconds, but the user still has to decide whether the thesis is grounded, whether the opposite case is stronger, and whether their own reasoning is being pulled by bias.
I wanted to build a product that treats investing judgment like a skill you can train. Instead of asking AI for a final answer, Alpha Gym asks the user to make a call first, then uses AI as an opposition partner, judge, and coach.
What it does
Alpha Gym is a local-first investment decision training app. Users can practice on historical market snapshots without seeing future prices, inspect technical indicators, fundamentals, news/theme context, and AI-generated arguments, then submit a bull, bear, or neutral judgment with confidence and rationale.
After submission, the app reveals the real outcome and coach feedback. It also supports a Live Desk for current tickers, Portfolio Lab for saving live or manual decisions, and Review Center for revisiting practice answers and judgment records.
The goal is not to tell people what to buy. The goal is to help them learn how they think with AI before trusting AI.
How I built it
The backend is built with FastAPI, Pydantic, SQLite, and yfinance. The frontend is React with Vite and Tailwind CSS. yfinance provides ticker lookup, price history, fundamentals, and market snapshots. SQLite stores debates, verdicts, practice attempts, settlements, and portfolio decisions.
The app has two AI paths. In OpenAI API mode, GPT-5.6 powers AI summaries, bullish and bearish debate, judge scoring, and personalized coach feedback through structured JSON validated by the backend. In Demo Mode, the app uses deterministic fallback content and clearly labels it, so the demo remains usable even without API credits.
How I used Codex and GPT-5.6
Codex was my main engineering collaborator throughout the build. I used it to scaffold the FastAPI and React app, design the SQLite schema, implement yfinance data flows, build the decision workbench, add bilingual UI, write tests, debug local API issues, and prepare the README, submission guide, and competition video pipeline.
GPT-5.6 is used in the intended product path for evidence-aware AI analysis: generating opposing market theses, scoring claims as a judge, and producing coach feedback based on the user's actual answer, confidence, rationale, evidence weights, and outcome.
Challenges
The biggest product challenge was avoiding the feeling of "just another finance dashboard." I repositioned the app around training judgment, not producing predictions. That led to the decide-before-reveal loop, the historical replay mode, and the split between practice records and live portfolio decisions.
The biggest technical challenge was AI reliability. API quota and model access can fail, especially during demos, so I built a transparent fallback mode. The app does not pretend fallback content came from GPT. It labels the source so judges and users can understand what generated each response.
What I learned
I learned that AI can be more useful as a training partner than as an oracle. The most interesting UX was not "AI says buy or sell," but "AI shows you what you missed, then helps you practice a better decision process next time."
I also learned that trust depends on structure: source labels, schema validation, editable records, and outcome review matter as much as the model output itself.
What's next
Next, I would improve point-in-time fundamental data, add richer historical news snapshots, and expand the coaching loop into personalized training plans. I would also add more review analytics so users can see whether they perform better when agreeing with AI, challenging AI, or staying neutral.
Built With
- codex
- fastapi
- ffmpeg
- financial-education
- gpt-5.6
- javascript
- kokoro-tts
- local-first
- openai-api
- openai-responses-api
- powershell
- pydantic
- pytest
- python
- react
- sqlite
- tailwind-css
- vite
- vitest
- yfinance