Course capstone / FinAlly
A trading workstation you can talk to.
A real-time interface combining streamed prices, portfolio visualisation, and natural-language actions in a simulated portfolio.
Capstone build through agentic coding workflows
Simulated trading demo
The result you can inspect
Structured model outputs connect conversation to simulated portfolio actions.
System overview
How the pieces connect.
- 01
Stream
Price updates arrive over SSE.
- 02
Interpret
Structured output represents a requested action.
- 03
Simulate
The application updates a simulated portfolio.
A simplified view of the documented architecture.
The short version
Context before code.
The problem
Trading interfaces are dense and intimidating, and the gap between 'seeing your positions' and 'acting on them' usually means menus, forms, and manual order entry.
What I built
Built a Bloomberg-style workstation that streams live prices over SSE, visualises a portfolio as a heatmap and P&L chart, and adds an LLM assistant that analyses holdings and executes trades from natural-language instructions — Next.js + FastAPI in a single Docker container, with structured-output LLM calls driving the trade logic.
What it demonstrates
Demonstrates end-to-end agentic product delivery — real-time data streaming, a stateful simulated portfolio, and an LLM wired safely into actions rather than just chat. Built entirely via coding agents as a course capstone.
For a closer look
The decisions behind it.
Tools used on this project
- Next.js
- TypeScript
- Tailwind
- FastAPI
- SQLite
- SSE streaming
- LiteLLM / OpenRouter
- Docker
- Structured-output LLM calls