~/log
Build log
Notes from the workshop: what broke, what shipped, and what got killed before it cost anything. Written for other people building alone.
21 August 2026
Failures that report success
The expensive bugs on a recent client build all announced success: a broken CMS rendering a perfect page, a seed script that wrote documents nobody could read, a form emailing raw option values. The rule: a write is not verified until read back through the users' door.
21 August 2026
The evidence rule
Two fabrications survived several review passes because they read right. On placeholder copy that becomes fact, durations that rot, tense as a factual claim, and why one weak claim taxes every strong one on the page.
21 August 2026
Killing The Gaffer before writing a line of code
I had an app idea I liked, a folder ready, and a plan. Then I pressure tested it and found I was about to build a worse, paid Spond. On the discipline of scrapping ideas cheaply.
14 August 2026
A recording studio generated from one TypeScript file
Ìmọ̀ needs native speaker audio for 300+ Yoruba entries. Instead of a spreadsheet and a folder of takes, I generate a browser recording studio from the app's own vocabulary file.
7 August 2026
The Android build that failed with no error
AGP 8 swallowed a GradleException inside a dependency and the build just stopped. The fix was one class name, found the hard way, now committed as a patch so it can never regress.
26 July 2026
A lead machine whose main job is saying no
A Claude skill that sweeps real local business data, scores each lead against an honest rubric, and drafts the opener. Most of the value is in the refusing.
6 July 2026
Versioning taste: a web design workflow as code
The reference driven process behind every site I ship, encoded as a Claude skill so the taste is reusable and improvable instead of vibes.
6 July 2026
The recorder: keeping the how after the solve
When a session ends, the answer survives but the reasoning evaporates. This skill captures symptom, root cause, fix, and the rule, so hard solves compound.
30 June 2026
A prompt is not a system
AI features as composable loops with stop conditions, caps, and memory. Ten patterns, and the discipline to use only two or three.
29 June 2026
Research that ends in a decision
Lock the question as a decision, set a stopping rule, gather counter evidence, synthesise into a matrix. The process that killed two app ideas cheaply.
29 June 2026
Notes that link themselves
Plain Markdown you own, atomic notes titled as claims, and Claude as the connective layer. Capture is easy. Connection is the value.
29 June 2026
Launching without shouting into the void
One narrative, channels chosen by where the audience gathers, assets in each channel's native format, and the unwritten rules encoded so no launch rediscovers them.
29 June 2026
Copy that survives the positioning test
If you cannot fill in 'for who, the category that differentiator, unlike alternative', no headline saves the page. Voice of customer over invented benefits.
29 June 2026
Designing app UI from states, not screenshots
Product interfaces fail differently from marketing pages: density, real data shapes, and empty, loading, and error states are the whole job.
29 June 2026
Native, not a stretched website
Platform conventions first: HIG or Material 3, touch targets, safe areas, and references gathered by role. The process behind all three of my apps.
