Writing
These are the notes I keep while doing the work: migrations off page builders, editorial CMS rebuilds, the technical-SEO fixes that actually move rankings, and plain-language explainers for the parts of WordPress that trip people up. Some posts are written for developers; others are for the person who just inherited a site they did not build. I write them the way I would explain a problem to a neighbour who asked, without jargon for its own sake and without pretending a hard thing is easy. If something here helps you fix your own site, that is the point.
-

Behind the Scenes: the contact form that mistook my customers for bots
My contact form honeypot mistook autofilled humans for bots and binned their messages. A week of that, nine pull requests, and eleven…
-

Page dilution and keyword cannibalization: why fewer WordPress pages often rank better
Two of your pages compete for the same search, and both lose. Here is how to spot page dilution on your WordPress…
-

A free, typography-first WordPress theme: meet Quillwork
Quillwork is a free, full-site-editing WordPress theme built for writers and editors, designed around the reading experience first. Install it from your…
-

Behind the Scenes: the nightly bot that kept un-fixing its own fix
My nightly autonomous WordPress agent spent a week un-fixing its own fix. What that bug, a made-up auction price, and nine deleted…
-

Behind the scenes: the WooCommerce bug that hid from its own test
The week I almost shipped a WooCommerce fix that would have quietly undone itself, landed two open-source merges, and audited my whole…
-

Migrating off CivicPlus: the hidden records-management cost procurement misses
Municipal procurement teams routinely miss the records-management line item when scoping a CivicPlus exit. Here is what it covers and what it…
-

Training a newsroom on WordPress in two days: the curriculum that survives turnover
Two days, the right two days, and a curriculum the next hire inherits. This is for editorial ops leads at media organizations…
-

What fixing other people’s WordPress plugins taught me about my own code
Eighteen pull requests, one merge, and a three-word thanks. What a week of contributing to WordPress plugins taught me about my own…
-

The case for the second draft
I finished a paragraph this morning, read it back, and felt that small private satisfaction of having said the thing. It was…
Working on a WordPress challenge? Get in touch