Bloom
A real-time financial analytics dashboard. React 19 + Vite frontend with WebGL background shaders, recharts for fast time-series, framer-motion for transitions. Python backend serving market data from yfinance plus a custom symbol resolver.
React 19 + Vite + Tailwind, with shaders.
The dashboard runs on React 19 through Vite. WebGL via the OGL micro-library powers the animated background. Recharts handles candlesticks and intraday lines. framer-motion drives panel transitions and the loading shimmer.
The visual layer borrows from the Bloomberg terminal aesthetic but plays nicer with motion. Hover a ticker, the background gradient shifts. Switch timeframes, the chart re-keys with a 200 ms cubic-bezier transition. It's not just data, it's a piece of theater that signals the data updated.
FastAPI + yfinance, lean.
A Python service that wraps yfinance and a symbol resolver. The frontend hits it through axios, gets cached time-series back, and renders. Deliberately small surface area, easy to extend.
| Endpoint | Purpose |
|---|---|
| /symbol/<query> | Fuzzy ticker resolution. |
| /quote/<ticker> | Latest price, change, volume. |
| /history/<ticker> | OHLCV time-series for the requested window. |
A Qt/QML companion for offline modeling.
Alongside the web app lives bloomsim, a Qt 6 / QML simulation engine that runs offline back-tests against the same data shape. Useful for prototyping strategies without burning rate-limited API calls.