The blog
9 Jun 2026
A framework to collect, analyze, document, iterate (CADI, for short) is a prescriptive answer to the question everyone keeps asking: should I prompt better, write a style guide, build an agent, or what?
12 May 2026
Datatype is a variable font that turns text into tiny inline charts.
9 May 2026
I wanted my GitHub Pages hobby projects on-domain without a complicated workflow; Vercel rewrites turned out to be the cleanest path.
3 May 2026
Stop guessing whether users will notice your CTA. Foveacast predicts attention from a screenshot, entirely in your browser, nothing uploaded.
29 Apr 2026
Converting SVG text to outlines breaks accessibility, search, and translation. SVGOMG-Font embeds a subsetted font instead, in your browser.
20 Apr 2026
Cultivating LLM productivity requires comfort with the vernacular of code, not the writing of it.
8 Apr 2026
Tips on where the shared approach doesn't share, and plugin.json gotchas that break Claude Code silently.
7 Apr 2026
Several traditions solved the shared-understanding problem in parallel. LLMs are dissolving the boundary that kept them apart.
5 Apr 2026
Developers are moving from copy-paste to orchestration. Each gear shifts what the human actually contributes.
30 Mar 2026
AI has general knowledge of the universe, not yours. The engineers who get results were always doing context work.
27 Mar 2026
The technology works, the design looks good, but content can't get to the reader — because nobody agreed on what a card is.
3 Mar 2026
Every post needs a hero image. Sometimes you don't need the perfect one — you just need something that doesn't clash.
2 Mar 2026
Vector embeddings at build time, cosine similarity in the browser. The same 23 MB model runs both sides.
28 Feb 2026
No API keys, no external service — just a build step and one HTML attribute.
25 Feb 2026
Pin comments on any live webpage and share them as a URL with no account and zero cost. As in free.