Stories

The systems I build and run, and the experiments that got out of the lab. Different scales, same standard.

FeaturedInfrastructure

I built a database my AI can't corrupt

Five hundred markdown files, twelve record types, and a thousand lines of Python that reject any write that breaks the schema. My AI operates the database. It is not allowed to corrupt it.

FeaturedArchitecture

I stopped prompting my agents. I started compiling them

Intent goes in as a brief. Agents act as compiler passes. Eval gates act as the typechecker. The output only ships if it passes every check. I treat AI agents like a compiler, not a slot machine.

FeaturedDevelopment

My digital colleague started dumb. Now it runs three businesses

It began as a Telegram bot that forwarded messages to Claude. Now it has a seven-layer memory, ten enforcement layers, a trust ramp, and 500+ tests. The intelligence is in the system around the model, not the model.

FeaturedOperations

My accountant sends screenshots. I turn them into permanent tools

A WhatsApp screenshot of financial tasks. Thirty minutes later, three command-line tools that did not exist before. The difference between doing the work and building the thing that does the work forever.

Migration

Two medical sites, two countries, off WordPress without losing a ranking

Two slow WordPress sites for an osteopathy network, rebuilt from scratch in Next.js. Around 250 condition pages each, a shared design system, and a test suite whose only job is to make sure Google never noticed the move.

Client Work

A historic estate had an embarrassing website. I rebuilt it overnight

A guest at Quinta da Bella Vista in Sintra, the former home of Arthur Conan Doyle. The property was stunning, the website was a slow template. By morning it was a full Next.js site. The point is not the speed. It is that the gap is gone.

Analytics

I don't just run the ads. I built the loop that tells me which clicks become patients

Most people running ads stop at the click. I built a measurement loop that follows it from ad, to booking, to treatment, per location, every week. Cost per patient, not cost per click.

Development

I ship changes from my phone, because I built the loop that makes the laptop optional

Telegram message in, governed agent loop in the middle, preview URL out in two minutes. The device stops mattering once the pipeline is solid enough. This site is the proof.

Development

Five agents, five copies of the repo, one website in thirty minutes

I built one client site by hand in an afternoon. The next one I split across five agents in five isolated git worktrees, all running at once. Thirty minutes, no collisions.

Experiment

I put an AI agent in a box and told it to build

A Docker container, three markdown files, and an agent that reads them, builds a complete app, tests its own work, and fixes its mistakes. No human in the loop. Until something breaks.

Infrastructure

From Notion to nothing, and that was the plan

Everything lived in Notion. Then I deleted it. Not because Notion was bad, but because I'd built a black box I couldn't control.

Medical

A 3D skull you can click. Connected to a knowledge graph

22 skull bones as a 3D model. 120+ nodes of cranial osteopathy knowledge. Click a bone, the graph lights up. Click the graph, the skull rotates. Built for OsteosOnline.

Exploration

6,000 music genres in one graph. Built in a weekend

Every genre from everynoise.com as an interactive knowledge graph. Click a node, hear a 30-second Spotify preview. Start minimal, explore endlessly.

History

150 years of osteopathy, mapped as a knowledge graph

From A.T. Still in 1874 to today's European regulation landscape. 100+ nodes mapping the founders, techniques, schools, legal battles, and movements that shaped the profession.