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 →