Skip to content

Design, engineering and strategy for modern web systems

0Readers
30Posts
2d agoLast active
Testing, testing 1, 2, 3
Jul 15, 2026
Aliqua anim amet excepteur ipsum. Amet excepteur ipsum esse tempor adipiscing in adipiscing. Ipsum esse tempor adipiscing in, adipiscing ipsum. Adipiscing in adipiscing ipsum, cillum ad anim labore. Ipsum cillum ad anim labore nostrud. Ad anim labore nostrud dolore, aliquip. Nostrud dolore, aliquip mollit do. Mollit, do ea occaecat minim in mollit reprehenderit.
The shadow copy was the wrong layer
Jul 13, 2026
Last week I set out to build two companion WordPress plugins. One would turn PDF attachments into markdown so AI agents could read them. The other would run a local vision model over every image and write a description an agent could use. Generally speaking, agents can't read PDFs or images well (although they're getting...
AccessibilityAgents
The shadow copy was the wrong layer
Jul 13, 2026
Last week I set out to build two companion WordPress plugins. One would turn PDF attachments into markdown so AI agents could read them. The other would run a local vision model over every image and write a description an agent could use. Generally speaking, agents can't read PDFs or images well (although they're getting...
AccessibilityAgents
Draw me like one of your JSON files
Jul 2, 2026
In Pixel Pushing, Redux I rebuilt this site with Claude Design over a weekend and £23.84, then handed off to Claude Code for the WordPress build. One thing intrigued me when setting up the design, Claude Design's first pass was to set up a design system, you can import assets and it will set up...
AICode
Standard bearer
Jun 17, 2026
ATmosphere auto-themes its Bluesky publication card from theme.json. It couldn't read mine, because my colours are `light-dark()` and there's no single value to pull out.
Syndication
Do androids dream of robots.txt?
Jun 17, 2026
Cloudflare's scanner says my site fails nine agent-readiness checks. I did one of them on purpose. Here's the thinking.
AgentsAI
Local hero
May 18, 2026
A plugin that generates excerpts with a local Ollama model, then ships them to prod as one-way NDJSON syncs. No API key on production, no surprise £100 bill, and a dry-run before anything writes.
AICore
Markdown my words
May 5, 2026
Markdown for Agents and Statistics is now a WordPress.org plugin — pre-generated `.md` files served to AI crawlers via content negotiation, with stats on who's actually reading.
AICode
Pixel Pushing, Redux
Apr 24, 2026
Claude Design dropped on a Friday. I played. This site redesign is the result - some time over the weekend, £23.84, and a lot of thoughts about design systems, source of truth, and whether the tension between design and engineering has really gone anywhere.
AICode
Narrator voice
Apr 7, 2026
I saw this post from Ben Goldacre a while back about enabling people to make radio shows. So I built it.
AIMusic
BTW TDD BDD
Apr 2, 2026
I was listening to an excellent podcast from The Economist recently (Boss Class) around vibe coding and one thing really stood out. One of the theories / reasons why Software Development seems to have been one of the main focuses of AI developments over the last year or so is that unlike other industries it...
AI
🦋 Is this thing on? 🦋
Mar 17, 2026
WordPress-atmosphere is a new plugin from Automattic that publishes your WordPress posts to AT Protocol via native OAuth 2.1. Each post creates two records — a Bluesky social post and a site.standard.document containing the full content, cover image, and tags. Here's how I set it up on a self-hosted PDS.
Syndication