Build LogDesign
#01
2026-08-215 min read

Branded card names rot. /work's don't any more.

Two corrections arrived within the same hour: one product had rebranded six months earlier, one client project couldn't be named publicly. Both pointed at the same design gap. Closing it required a policy, not a patch.

Read post→
Build LogCopy
#02
2026-08-115 min read

Accurate to me, misleading to you: every copy fix this month was the same bug

Every copy change I made to captainrandom in July traced back to the same failure mode: wording that was accurate to my intent and misleading to the person reading it. That’s a different bug from a factual error. Factual errors you catch by verifying; this one only shows up when you read from the wrong seat.

Read post→
Build LogConversion
#03
2026-08-045 min read

No till at the end of the sales floor

The GA4 cohort showed one visitor, thirteen sessions, seven minutes on /work/ — and no way to act on the decision they'd clearly formed. The structural gap had already been diagnosed. This documents what was actually shipped to close it.

Read post→
Build LogPrivacy
#04
2026-07-265 min read

The privacy work isn't on the /privacy/ page

The /privacy/ page went live in June and covers what it covers. The actual privacy work on this site happened in a data-locality choice, a brand-separation rule, and a username leak in published MDX. Only one of the three announced itself.

Read post→
VisualiserAudio-Reactive
#05
2026-07-055 min read

The spring panorama has winter underneath it: audio-driven temporal layering

Two panoramas, identical dimensions, stacked front-to-back. The spring layer carries a radial cutout whose radius is driven by bass amplitude. When bass hits, winter shows through. The background is not a backdrop — it is a temporal device indexed to audio rather than time.

Read post→