AccessibilityBuild Log
#01
2026-05-227 min read

Audits find what's wrong, not what's missing

A page-by-page audit ran for three days catching deprecated ARIA roles, fabricated copy, and missing hover-pause behaviour. Then I opened the site on my phone and the nav menu wasn't there. Not wrong. Just not there. That's a class of bug audits can't catch, and the fix isn't to audit harder.

Read post
Build LogDevOps
#02
2026-05-215 min read

macOS won't let your cron read your work: three days inside TCC

A daily launchd job that reads from /Volumes/b/ looked trivial. Three days, four wrong approaches, and one AppleScript .app bundle later, I'd learned why granting Full Disk Access to a shell script is a UI fiction.

Read post
ArchitectureMDX
#03
2026-05-217 min read

An MDX content pipeline grows three kinds of complexity

Naïve MDX setups (one file in, one HTML out) hit three walls as they scale. Routing complexity. Authoring complexity. Citation complexity. Each grows non-linearly with post count; each has a single high-leverage fix.

Read post
AI ToolsBuild Log
#04
2026-05-218 min read

I built this with Claude Code. The bugs weren't where I expected.

Three days into a page-by-page audit of my own site, I realised the bugs Claude Code had left behind weren't logic errors. They were hypotheses it had inferred from context, presented as facts. The reflex I needed wasn't suspicion. It was verification.

Read post
AI ToolsNext.js
#05
2025-05-171 min read

Building this site with Claude Code

Log entry zero: what the site is, what Claude Code did well, where it lied, and where the actual build log lives.

Read post