Writing & build logs.
Essays on software development, web builds, and AI tooling. Plus build notes from what I'm actually working on right now.
Three effects, one envelope: how the bass signal became the nervous system of this visualiser
The neon bloom formula was written for one layer. Two days later, the same bass envelope was driving particle wobble and a radial time-portal. That convergence wasn't designed — it was pulled out by the kick pattern of a specific track.
Auto-mode opened the PR. It didn't merge it. That was gap one.
Phase 9's 'self-driving overnight' was overstated by two wiring gaps. A 09:00 BST live run on 11 June found both. The afternoon of fixes taught more about auto-mode's real edges than any pre-flight design session.
I had the Accounts calendar scoped as one level. Mid-design I deepened it to three.
Phase K shipped a horizontally-scrollable daily-activity strip on the Accounts screen. Phase O was meant to replace it with a calendar — I had a compact, single-level surface already scoped. Mid-design I deepened the ask to full-screen plus day mode, and a back-nav regression in round-2 device QA explains why that was the right call.
Phase B was hitting 20% autonomous success. The slot had never existed in the schema.
Five queue rows tried and rejected in three seconds. Three days of SLA fixes, substitute logic, and alarms, all patching around the same absence. The 20% pipeline success rate wasn't a scheduling problem — there was no schema entity for the thing being scheduled.
The Accounts screen took four iterations. Each one bought fidelity by spending scope.
Sprint 2 shipped a SwiftUI list with CRUD. Phase K rebuilt it into a module stack with a trend chart and activity strip. Phase O turned the strip into a three-level calendar flow. Round-2 device QA on AnF found the back-nav bug that came with it.




