Things I have built

Products I build and run myself, in production, so that what I say about building software is something I have done.

Cockpit

A personal inbox and dashboard for everything that needs my follow-up.

Why I built it

Two reasons. The first is a problem I had. My overview of what to follow up on was a Notion board I filled in by hand, so a Slack message only counted once I had copied it there. Sorting cost too much effort, so the board became one long pile. Labels like "today" stayed on items long after the day had passed, and things got lost.

The second is that I wanted to build a whole product agentically, not read about it. Cockpit is greenfield and in production, written by agents from the first commit while I steer the design, the tests and the checks. The convictions on this site come from that, and where one does, it links to the real file or command in the repository.

What it does

Things I have to follow up on land in many apps: flagged email, Slack messages, Notion comments and actions. Cockpit collects them in one place, on dashboards made of movable panels, organised by project, person, topic and priority.

A second step adds an inbox. Everything new arrives there as something to deal with, and you read it, answer it or flag it for later. Flagging feeds the dashboards.

  • Installable web app for phone and desktop.
  • Sign in with a Google account.
  • Keeps a local copy, so it opens fast.

Go and look

The harness around Cockpit

The checks, reports and tooling that let agents change Cockpit safely, all published from the repository.

Why it exists

Agents write most of Cockpit, so the harness is what decides whether a change is good enough to merge. A harness you cannot see is one you cannot trust or improve. So each part of it publishes a report, regenerated from the repository and updated on every merge.

What the reports show

  • Lead time: how long a change takes from start to production, and where the time goes.
  • CI stability: the pass rate of every check, with run counts beside it.
  • Test coverage: every product rule that is proven, and at which level.
  • Test selection: which tests run for a given change.

Go and look