// collection
AI Automations
Language models are excellent at the mechanical half of a publishing workflow and dangerous at the editorial half. These docs cover where I have drawn that line, and — more usefully — how the line is enforced in code rather than in a prompt.
The recurring pattern: a model may choose from a set it was given, never generate an identifier. Every reference it emits is validated against the real corpus before anything is written.
10 docs · 5 sections
Content pipeline
Convert markdown to Portable Text without losing structure
The token-to-block mapping that turns an agent's markdown into real Sanity Portable Text, including tabs and callouts.
intermediate25 minGuardrails for an agent that publishes to your CMS
Five constraints that keep a coding agent from inventing clients, hallucinating links or publishing without review.
intermediate12 min
Getting started
Provision an Ubuntu Node server from scratch
From a bare Ubuntu 24.04 box to a hardened host running Node under systemd, in about twenty minutes.
beginner20 minTerminate TLS with Caddy in front of Node
Automatic HTTPS, HTTP/3 and sane security headers in a twelve-line Caddyfile — no certbot cron jobs.
beginner15 min
Operations
Quality
Rendering
ISR and cache invalidation that actually invalidates
Tag granularity, webhook payloads and how to prove a publish reached production in under ten seconds.
intermediate20 minEnforce a performance budget in CI
Fail the pull request, not the production deploy — a Lighthouse CI gate on three representative URLs.
intermediate25 minRespecting prefers-reduced-motion, with a sandbox
The two-line media query, the resting-state rule that matters more, and a live example you can toggle yourself.
beginner10 min