Developer, musician, committed geek. Writing about all three since 2007.

Twenty-odd years building things on the web — currently CPTO at Think Digital Group / Asset TV, half of PolyOrbit, and the one-person team behind Dotvault and Edmund. Most of what I do has a thread of considerate AI running through it these days — at work, and on side projects that probably wouldn't otherwise exist. This is where the rest of it lives: code notes, music posts, half-finished ideas, and the occasional strong opinion.

— Recent writingAll writing →
Developer06 SEPT 2026

A docs chat that refuses to guess

No chunking, no vector database, and a validator that throws away answers the model cannot prove. What we shipped in Media Manager, with the numbers.

Developer14 AUG 2026

Rebuilding a 19-year-old blog: the technical version

The companion to the comeback post: the decisions, the gotchas, and the URL contract behind a five-hour Astro rebuild.

Developer21 JUL 2026Via dotvault.dev

I tried to rewrite Dotvault in Swift

I got a full Swift rewrite of Dotvault surprisingly far before deleting the lot. Rewriting things in Swift is fun. Selling software is not.

AI07 JUL 2026

I kept losing my best ideas, so I built Edmund

The thought never turns up when you are sat at the right screen. So I built the app I wanted — one place to catch it, on-device AI to file it. Edmund is now in private beta.

Developer22 JUN 2026

Passwords are a liability. Laravel finally has first-party passkeys.

Laravel now ships a first-party passkeys package that plugs into Fortify. Wiring up the WebAuthn ceremony is the easy part — the interesting work is what passwordless does to the rest of your auth.

Developer04 JUN 2026

Stop your agents fighting over one test database

Run several coding agents in parallel git worktrees and they all hammer the same test database. Here is the small shim that gives each one its own.

AI12 MAY 2026

Ten years off, five hours back on

This site sat untouched from 2016 to 2026. Why I nearly closed it three times, why I didn't, and what it took to drag it back in five working hours — with help.

Developer02 MAY 2026Via dotvault.dev

Your secrets stay on your machine — here's how I keep it that way

How Dotvault sends anonymous telemetry and crash reports without ever touching your `.env` files.