Reading, UK
Most people demo with AI. I ship with it.
I build agent systems that do real work. Claude Code for the orchestration, MCP to reach the tools that matter, memory that survives the session, and auth that holds up when the software touches someone else's data.
This site is where I write down how it is actually done. Every guide comes out of something running in production, not a weekend prototype. Nothing here is for sale.
The guides
All 9 guides →9 maintained explainers, 41 minutes end to end, in three tracks. Start anywhere, but the order is deliberate.
01 / Build
Tool surfaces, memory, routing, skills.
02 / Ship
Identity, approval gates, the security review.
03 / Operate
Team adoption, and why the output was wrong.
Latest writing
All essays →26/07/2026
The file that exists only for machines, that no machine could read
A file whose entire purpose is being parsed by language models, formatted so that a compliant parser found zero links in it. Every real win that day came from measuring something I had assumed was fine.
25/07/2026
Seven review rounds on a payments path, and not one broken feature
Every finding was code being wrong about the world rather than wrong about itself. A three-seat purchase issuing one ticket is not a bug a test suite has any way to notice, because the code does exactly what it says.
24/07/2026
The migration ran against the wrong database and reported failure
Two observations that could not both be true: the migration failed on null values, and the backfill for those nulls found none. They reconcile the moment you notice they were talking to different databases.
17/07/2026
A 403 from an API is not necessarily from the API
Alert emails stopped arriving. The API returned 403, so I spent the first stretch checking the key and the domain. The ban was from the bot protection in front of the API, and the trigger was the default user agent on the standard library HTTP client.
Built with it
Everything on this site comes out of one system. I built Corey, then used Corey to build the rest. That is the whole argument: if the architecture is right, the output is products, not demos.
Corey
The engineAn agent OS that runs the recurring work of a business - the routing, roles, skills and memory described in The Agent OS, packaged so it runs for someone other than me. It lives in Claude Code, works in a folder you own, reaches your tools over MCP, and stops at the approval gate. It wrote its own website, wired its own checkout, and maintains this site.
Presso Network
EventsTicketing, event apps and the payments underneath them, for professional organisers. Real users and real money, which is where most of the auth and approval-gate thinking on this site came from.
Safebites
Allergen safetyTurns a restaurant menu into a clear allergen call for the person eating. Matching against the UK's 14 major allergens, with a places dataset behind it. A wrong answer here puts someone in hospital, so it is the strictest thing I have built.
Pocket
PropertyA private directory of off-market property listings that estate agents query in natural language through their own LLM, over MCP. The clearest example of building for a model as the primary user rather than a person.
This site
PublishingAstro on Cloudflare, agent-maintained, human-approved. The colophon documents exactly what it does unsupervised and what waits for me.
One person. No hires. The interesting part is not the volume - it is that the same routing, memory and approval model held across five very different products, which is the only evidence that any of it generalises.