Writing
Essays and first-person pieces, in one feed. Newest first. For topic-based navigation use Topics.
- Story918MB, an Ofsted inspection, and a governor who is not a developerMy kids school was rated Requires Improvement and facing re-inspection. The evidence base was 1,650 files and 918 megabytes. No governor was going to read all of it. So we built a tool that could.
- StoryBuilding from my phone while watching the kidsThe five-step evolution of how I reach the development environment on the Mac Mini from an iPhone in a playground. The useful insight is that where you build shapes what you build.
- EssayContext as a first-class artifact: the /deep-context pipelineStop hoping that relevant information will fit in the context window. Start manufacturing a task-specific context file before the task begins. The mechanism, the receipts, and the benchmark that gates it shipping.
- Essay"Email me when done": a persistent task runner with a delivery guaranteeLong-running tasks fail silently if the session dies before the result is ready. This is the runner I built to make "email me when done" actually mean that. Retry loop, fallback email paths, and a last-ditch file.
- StoryFrom model to agent: what changed when I stopped predicting and started investigatingWhy the regression models that came out of the hackathon got replaced within weeks by three agentic tools. The short version: probability scores without narrative are not what analysts need.
- EssayLessons as code: turning postmortems into pre-flight checksA file I read at the start of every session, twenty-three numbered patterns of how I have broken my own system, and the pre-flight skill that checks proposed work against them. The pattern is the most portable thing on this site.
- EssayMemory that sleeps: a tiered memory architecture with daily consolidationA two-tier retrieval system (semantic plus keyword), canonical topic files as curated truth, and a nightly consolidation pass that promotes session insights into the canonical tier. Why each piece exists and what fails without it.
- EssayOne hour, one command: disaster recovery for a solo AI shopWhat backups, what intentional exclusions, and a sequence that reconstitutes the whole personal AI operating environment in under an hour. The honest version, including the accepted gaps.
- StoryOne hour, one marketing listA vague ask ("give me a list of prospects that look like X") turned into a working pipeline across three data sources in under sixty minutes. A small build, but the speed is the point.
- StoryThe dragon my daughter designedMy seven-year-old had a specific game in mind. Sixty conversational turns later, it was playable on her iPad. A short story about the easiest, most rewarding build I have done.
- StoryThe hackathon that started it allA one-day hackathon in February 2026, a merchant-risk problem I had been looking at for a year, and a pipeline that scanned 30,000 websites in an afternoon. The origin of everything else on this site.
- EssayA personal AI operating environment: worked example and receiptsWhat happens when one person uses an AI coding assistant as the primary interface to a real physical and operational life, and systematically fixes every failure that occurs along the way.
- EssayFive things I built to help my AI agent that I had to removeEvery automated helper I built to make my system more reliable ended up making it less reliable. Why, with dated incidents and what I run instead.
- EssaySix layers of defence for an AI agent over a 3D printerThe printer-safety architecture I now run, the specific incidents that produced each layer, and why the pattern generalises beyond 3D printing.
- EssayThree-way AI model debate as a pre-commit gate: receipts from several months of useRunning Claude, Gemini and GPT-5.4 on the same question in parallel, blind Round 0, informed from Round 1 onward. What works, what does not, and the confidence trap I did not predict.
- EssayWhat it means to be AI-nativeThe difference between using AI a lot and being AI-native: infrastructure as the binding constraint, not model capability.