← Back to blog

Product

A Terminal, Not a Dashboard

FastAPI, a candle chart, and a deploy button

backtest gate · strategy JSON · live status

July 4, 2026 · 5 min read

We didn't want another SaaS chart with a webhook field. We wanted a terminal: load candles, edit params, backtest, save, deploy — on localhost, with files we can diff.

Stack

  • FastAPI backend — candles, indicators, backtest, live control, data sync.
  • Static HTML + Lightweight Charts — no build step for the trading UI itself.
  • Strategies as JSON on disk — name, run settings, params, optional last backtest gate result.
  • Parquet OHLCV cache — sync once, iterate fast.

The backtest gate

Run backtest → summary + gate pass/fail → save strategy embeds the result. Deploy checks the gate unless you force it (and you shouldn't). The UI tells you why deploy blocked you instead of silently paper trading a fantasy.

Why local matters

Keys stay in .env. Cache stays in data/. Runs land in output/runs/. Nothing leaves the machine unless you wire a webhook. For a system that will eventually sign transactions, that's not paranoia — it's architecture.