Skip to content
← Field notes

2026-09-12

What We Learned Building a Paper Trading Platform

Not financial advice. Verify claims independently.

Market data contracts, ledger correctness, and why the boring parts are the hard parts.

Desk notes from client work. Verify claims independently — not a verified account of any production system.

Building a paper-trading product looks glamorous from the outside — charts, ticks, green and red. The hard parts are almost never the charts.

Market data is a contract, not a feed

Every vendor has a different definition of “realtime,” delayed, and corrected. We treat the feed as a contract: symbol universe, session calendar, corporate actions, and what happens when a tick arrives out of order. The UI only renders what the contract guarantees.

If you skip this, you will invent bugs that look like “the chart jumped” and waste a week blaming Recharts.

Ledger correctness beats flashy fills

A paper account is still an accounting system. We use double-entry from day one: cash, positions, and a fills journal that reconciles. Fuzz tests randomly buy/sell/split/dividend and assert the books balance.

Pretty order tickets without a correct ledger will lie to users — and to you — about P&L.

Realtime fan-out is a budget

We keep a 100ms budget from exchange tick to phone screen and account for every hop: ingest, normalize, shard, fan-out, render. Most “latency” complaints are actually reconnect storms or main-thread work in the client.

Boring is the product

KYC, statements, tax lots, session calendars — these are the features that keep a trading app alive past early access. We schedule them as fixed-price sprints with a crisp definition of done, not as “phase two.”


Want the short version? Rehearse the product on Stock Picks — it’s the platform we learned this on.

From the desk

Want this built into your product?

Open a work order — or try Stock Picks, the paper-trading app we shipped as our flagship case study.