A Small Firm of Specialists A series in 7 parts

Field report · March – June 2026

A Small Firm of Specialists

Three months building a proprietary trading desk out of language models, and everything it taught me about authority, measurement, and lying to myself.

A ship's bridge that is also a trading floor
The bridge. Nine seats, four models, three machines in my house.

I did not really build a trading bot. I built a small firm of specialists who talk to each other, with a separate AI on the other side whose job is to read their work and tell me where they went wrong. It never made money. It got measurably less bad in ways I could attribute to specific sentences in specific contracts, which is more than I can say for most things I have built.

Seven parts. One and two are the system as designed; three is an interlude from the diary, inside two trades. Four and five are how I found out the system did not work the way I thought. Six and seven are the architecture and the working method. If you only read one, read four or five — they stand alone, and they are the parts that generalise past trading.

The series

  1. I Built a Prop Desk Out of Language Models The cast, the loop, the rename that changed the geometry of the trades — and the seat that turned out to need no model at all.
  2. Same Model, Opposite Personalities 171 fairways marked for 71 trades. Verb tense as a security boundary. Why you must never give a model a retry path.
  3. The Car Crash and the Seven Minutes Two saved trade logs and one diary entry — the view from inside the firm, mostly in the words written at the time.
  4. We Put the Agents on Trial A tribunal for language models, a 100% pass rate that meant nothing, and the arithmetic that had been lying to the agents the whole time.
  5. I Replaced the Trading Chart With a Picture of a Duck How do you know a model can hold a seat at all? Activated parameters, determinism, and three rules for not fooling yourself.
  6. Only Bootstrap Imports Infra Pipes and water. The tell that finds layering leaks. And two problems where every available move makes the diagram worse.
  7. The Brief Is the Contract Briefs, worktrees, a postal system between AI sessions, and a thousand dollars of expert judgment bought by the row — then thrown away.

The numbers

469commits
87active days
24/24hours with commits
33klines of Python
162klines of markdown
324 GBtick data
830tests passing at the end
17commits never pushed

Lifetime churn tells the story better than any of those: Python +141,857 / −60,721; markdown +185,147 / −21,327. More prose written than code, and deleted at a quarter of the rate. The code was rewritten constantly. The documents accreted.

The hour-of-day histogram has between 13 and 30 commits in every one of the twenty-four hours. That is what three months of this looked like, and I would not recommend it.