Writing on building, shipping, and the odd tangent.

Notes from running a small WordPress agency — the tools I build to make it saner, and the occasional detour into weightlifting or a joke shop that sells nothing.

Meat, the luxury product

I've been vegetarian for five years and I don't think you need to be. The argument that actually works isn't about what's on your plate, it's about what it costs to put it there.

WordPress, then React, now Swift

Three defaults in about ten years, and why none of them really replaced the one before. What changed wasn't the tools. It was the shape of what people were asking for.

I could have made it a subscription. I didn't.

My House, My Things is £34.99, once. A record isn't a service: it doesn't need to be running to be useful, it needs to still be there in ten years.

If you build it, they won't come

The line is a misquote, and it was never a distribution plan. What actually happens after you ship something, and why building is the easy part.

When was the boiler last serviced?

I couldn't say when my boiler was last serviced or what the kitchen paint was. The answers existed, just nowhere I could find them. So I started building.

Why I folded my free tool into the agency site

Plugin Risk Score had its own domain for a while. Moving it onto the agency site was the right call — and the reasoning applies to most free tools.

Why I swapped my MacBook for a Mac mini

Moving from an M1 MacBook Pro with 8GB of RAM to an M4 Pro Mac mini with 24GB — for local AI, long agent sessions, and a machine that never sleeps.

Lifting Times is back

I've rebuilt and relaunched Lifting Times, the Olympic weightlifting magazine I founded in 2015 — here's what's new and why it still matters to me.