Blog
November 2, 2026
Shipping the Site Spell Checker WordPress Plugin
I already had Site Spell Checker crawling published pages. I wrote that up in building a website spell checker. A browser spell checker helps while you're writing, but WordPress's editor is where...
Read →October 26, 2026
Shape Up in the Era of AI-Driven Engineering
I was a technical PM at a developer tools company when Claude Code went mainstream. Somewhere around Opus 4.7 it got obvious, fast. Great engineers were suddenly superheroes. Productivity felt like...
Read →October 8, 2026
Giving AI Agents a Fax Machine
I added an agent interface to FaxOnline. An AI agent can now prepare a PDF fax, hand you a checkout link, and check whether it was delivered. Five years ago I wrote about building an online fax...
Read →September 25, 2026
WordPressSharp 2.0: A .NET 10 Client for the WordPress REST API
I started WordPressSharp in 2014 to make it easier for C# applications to talk to WordPress. The library used XML-RPC, targeted .NET Framework 4.5, and did the job it was built for. I even wrote an...
Read →September 24, 2026
Jev Query Routing: Ask What It Means, Not Whether It's Right
A couple of years ago, a few engineers and I spent a month or two and thousands of dollars teaching a model one thing: when someone types a search, are they looking for help, checking inventory, or...
Read →February 20, 2026
How and why I built openclawpm
I kept seeing impressive agent demos. Then I tried to build one I could actually use, with its own context and tools, and it fell apart when I switched machines. The prompt was only part of what I...
Read →