← Back to writing
Case Study№ 022 · Field notes from the studio

Building Northwind, quietly

CASE STUDY№ 022Studio D&M27 Mar 2026N·OS

A behind-the-scenes on how we shipped a portfolio OS for a solo capital allocator — from a theses doc to production in eleven weeks.

Northwind started, as most good projects do, as a single overstuffed spreadsheet. Our client — a solo allocator managing a concentrated book — had built a remarkable system out of tabs, formulas, and discipline. It worked, right up until it didn't scale with his thinking anymore.

The brief was deceptively simple: keep everything you love about the spreadsheet, lose everything you hate. What he loved was speed and a sense of total recall. What he hated was that the why behind every position lived in his head, not the sheet.

01 — The shape of the problemTheses, not tickers

We reframed the product around theses rather than holdings. A position isn't a row; it's the current expression of an argument. Every thesis links to the positions that express it and the journal entries that revised it. The portfolio became a document you could read, not just a table you could sort.

A position isn't a row in a table. It's the current expression of an argument you once made.

02 — Build decisionsBoring stack, brave surface

Underneath, nothing is clever: TypeScript, Postgres, tRPC, a single Fly.io region. We spent our risk budget entirely on the surface — a command palette, an event-sourced history so any day could be reconstructed exactly, and a journal that felt like writing rather than data entry.

  • Event-sourced core. Every change is an append; “what did I think in March” is a query.
  • Keyboard-first. The whole app is reachable without the mouse.
  • One user, designed like it. No roles, no orgs, no settings he'd never touch.

03 — Eleven weeksWhat shipping weekly bought us

We shipped to his real account in week three and never stopped. Most features were proposed, built, and either kept or deleted within a single week. By week eleven the spreadsheet was archived — not migrated, archived, because he no longer reached for it.

The quiet metric we're proud of: he stopped mentioning the tool. It became the place the work happened, which is the highest compliment a piece of software can earn.

DDaniela Vega · Studio D&MEnd of note
Keep reading
← Newer note№ 023

Observability for agentic workloads

Field Note · 8 min
Older note →№ 021

Against the second rewrite

Essay · 9 min