build log
Working notes
A running diary of one system being built: what I chose, what broke, and what I got wrong on the way. Unlike the project write-ups, nothing here is finished.
-
Part 1 · 27 Aug 2026
Rebuilding a dashboard nobody asked me to replace
A school runs its whole operation from a Google Apps Script system that works. I read the handover pack looking for the case to replace it, found none, and started anyway — for different reasons.
Architecture · NestJS · Postgres · Planning
-
Part 2 · 29 Aug 2026
Two bugs deep: a Google sign-in that refused to work
Every automated check was green and the last item was me clicking a button. The click took two days, two stacked bugs, and taught me more than the rest of the milestone.
OAuth · Better Auth · Docker · Debugging
-
Part 3 · 31 Aug 2026
Three green checks that tested nothing
Deploying to a mini-PC under my desk, three separate checks came back green while testing nothing at all. I believed two of them out loud before we caught it.
Testing · Deployment · Postgres · AI agents
-
Part 4 · 4 Sept 2026
Seven bugs that lived between the tasks
Seventeen tasks, seventeen approving reviews, and a milestone that files attendance and pays teachers over HTTP. The last review found seven defects, and not one of them was inside a task.
Testing · Postgres · OpenAPI · AI agents
-
Part 5 · 5 Sept 2026
The only red run was the first one
Twenty-three CI runs since August. One failed, twenty seconds in, on the first day. Every run since has been green, including the weeks when sign-in was broken and the pay port was wrong. Green meant something different each time.
CI · GitHub Actions · pnpm · Testing
-
Part 6 · 7 Sept 2026
The database says no
A teacher must never read another teacher's pay. Most projects enforce that in application code and hope. This milestone made Postgres enforce it, wrote tests that ask the database for its own refusal, and found the plan wrong in four places before the first line of code ran.
Postgres · Row-level security · Authorisation · AI agents
-
Part 7 · 8 Sept 2026
Four bugs, four instruments
The client milestone ran overnight: nine tasks, nine reviews, three green CI runs, a mergeable pull request. Four defects got through anyway, and each one was visible to exactly one instrument. Unit tests and reviews saw none of them.
React · Playwright · Docker · AI agents
-
Part 8 · 14 Sept 2026
The backup that would have eaten itself
The last milestone was the half of full-stack nobody practises: images pulled from a registry, secrets rotated, nightly encrypted backups, a restore drill, error tracking, and a runbook. Four pull requests, each deployed before the next. The worst bug of the five days was a sentence in the runbook, and the second worst was me trying to hand a secret to an AI agent.
Backups · Postgres · Sentry · Docker · AI agents