Your numbers live in a notebook only you can run, or a spreadsheet somebody refreshes by hand. Then someone asks for it on their phone and the whole thing falls apart.
I build the version that just runs.
SEE IT BEFORE YOU BUY IT
github.com/dngr2/fastapi-trading-dashboard
Clone it, two commands, it runs. Live WebSocket feed, candlestick charts, positions table, dark and light themes, 8 passing tests. That is not a mockup or a description of what I would do. It is running code with screenshots in the README.
WHAT YOU GET
- FastAPI backend with WebSocket streaming, not polling
- Live charts that append data instead of redrawing everything
- Responsive layout, dark and light themes
- Your data source wired in, whatever it is: API, database, CSV, script output
- Full source, documented, deployable on any small VPS
THE PART OTHERS SKIP
At two updates a second, sloppy front-ends flicker, columns jitter as digits change, and the browser tab eats a CPU core. I use tabular figures so numbers do not dance, surgical DOM updates instead of full re-renders, and auto-reconnect with backoff so a dropped connection recovers silently.
WORK YOU CAN CHECK
github.com/dngr2/fastapi-trading-dashboard — the stack this gig is built on, public, with tests.
Open pull requests on other people's Python projects, each with tests written before the fix:
- github.com/keephq/keep/pull/6688 — a templated JSON body being double-encoded before it reached the endpoint
- github.com/keephq/keep/pull/6689 — exposing a query method that the UI reported as unavailable
- github.com/tenstorrent/tt-flash/pull/108 — implementing a subcommand that shipped in the help text with nothing behind it
Both projects are ones I do not maintain, which is the point: the code had to be read before it could be changed.
THIS GIG COVERS
One dashboard, up to 6 panels, one data source, deployed and running on your machine or server.
Message me first for multi-user auth, multiple data sources, or mobile apps. I would rather quote it properly than surprise you.
WHAT I NEED
Where the data comes from and what you want to see. A screenshot of your current spreadsheet or notebook is plenty to start.