Investing: risk bot + quality portal
- Python
- SvelteKit
- Docker
Two very different investing styles, one piece of infrastructure: a short-term, momentum-driven strategy run from Telegram, and a longer-term, quality-focused strategy tracked on a web dashboard. Both sit on the same FastAPI backend and the same Interactive Brokers gateway, all running in Docker, rather than two separate systems duplicating the same market-data and order plumbing.
The design decision that matters most isn’t in either interface — it’s the staging step between them. Every buy or sell first lands in a local SQLite staging table; nothing reaches the live account or the tracked platform until an explicit publish action. Position sizing is percentage-based rather than absolute amounts, so a portfolio stays comparable regardless of its current value. The Telegram side adds slash commands for scanning, analysis and portfolio state, plus push alerts, on top of that same publish gate.
It’s a case of two workflows that look unrelated on the surface — chat-driven trading versus a dashboard — turning out to need the same safety rail underneath: decide locally, publish deliberately.