Skip to content
All projects
Live · Real trades at 1/100

Trading Lab

A bot that buys for you on payday, and two AI bots that set the mix every day.

Trading Lab home: the copy-me bot next to just buying every month, today's decision, and the three bots on the side
Type
Web app + worker · my real account, public demo
Period
Oct 2026
Runs on
AWS Lightsail, Sydney · Docker Compose · Cloudflare Tunnel

About

Made for people who invest a set amount every payday. Pick up to ten funds you like and the split between them, answer a few questions about how you buy, and a bot buys for you: on payday, skipping when prices run hot, buying big after a drop. It shows how the last ten years would have gone next to just buying every month.

Beside it, two AI bots decide every day how much of ten funds I picked to hold: one reads the news, the other sees only price charts with the names hidden.

What it does

Copy me
Pick up to ten funds and a split, then answer four to six questions. They become a rule: how much on payday, when to skip, when to buy more. Selling isn't copied.
Parallel yous
The same money with one rule changed: never skipping, buying only after drops, waiting longer. See which version of you would have done better.
What to do next
How much of each fund to buy next payday and why, and how close prices are to the points where it would skip or buy more.
Backtests
Try a rule on the last ten years and compare it, year by year, with just buying every month.
Two AI bots
Every day, AI decides how much of ten funds and cash to hold, and shows each change with its reason. One reads the news and links the articles; the other sees only charts with the names hidden. From the day they start, they're compared with each other and with the copy-me bot.
Real orders, small
After the US market closes, the bots decide, and the orders go to my real account at 1/100, in fractional shares. Every trade is reported to Telegram.
A demo anyone can try
Made-up prices and example bots. The demo's AI bots show sample decisions made by rules, not a real AI. Copy-me and backtests work; nothing touches a real account.

Architecture

Trading Lab — ArchitectureOne server · SydneyAnyoneDemoSynthetic prices · no keysMeTrading LabScreens · APIPostgreSQLWorkerPrices · decisions · ordersToss SecuritiesPrices · account · ordersClaudeAI bot decisionsTelegramTry itPrivate sign-inPrices · ordersOne call a dayAlerts
The screens and the worker only talk through the database. Only the worker reaches the brokerage, Claude and Telegram, and the demo runs on its own data with no keys.

How it's built

Backend
Python 3.14 · uv · FastAPI · Pydantic v2 · SQLAlchemy 2 · Alembic · pandas
Frontend
React · TypeScript · Vite · TanStack Query · Lightweight Charts
Data
PostgreSQL 17 · Toss Securities Open API · synthetic prices for the demo
AI
Claude Sonnet 5.5 · web search · structured output (JSON schema) · Anthropic SDK
Infra
AWS Lightsail, Sydney (Terraform) · Docker Compose · GHCR · GitHub Actions with a self-hosted runner · Cloudflare Tunnel & Access · Tailscale · Telegram alerts
Quality
pytest · ruff · mypy (strict) · oxlint
Copying a habit, question 3 of 6: how much goes in each month, with amounts to pick
The market-analysis AI bot in the demo: today's decision with its reasons and a target weight for each fund. Demo decisions are made by rules, not a real AI
Parallel yous: the same money with one rule changed each time
Trying the copy-me rule on past prices: the monthly amount, when to skip or buy big, and which funds

Not investment advice. The screenshots use the demo's synthetic prices, where every order is simulated. The AI bot's reasons are for reference and can be wrong.