Blog Archive
Don't Delete the Row. Delete the Key.
Append-only history and GDPR-style erasure look incompatible. They are not, if you put the secret in two places.
Read Post
There Is No Workflow Engine. It's Just Git.
My agent pipeline runs for hours, survives Ctrl+C, and resumes from where it stopped. There's no Temporal, no queue, no database. The state lives in YAML files and commits.
Read Post
I've Been Shipping 'Multi-Tenant' Wrong for a Decade
Every system I built had a tenant_id column and a discipline problem. This is the first one where the database itself refuses to return the wrong rows.
Read Post
Voice Agents Don't Need to Be Faster — They Need to Feel Faster
Two agents with identical latency can feel completely different. The gap is fixable at the orchestration layer, without touching the model.
Read Post
I ran a maintenance agent for 10 days. The number that mattered was 14
A maintenance agent filed 559 bugs and fixed 412 on its own. The interesting number is the 14 it refused to touch.
Read Post
Parallelism Was a Workaround. Agents Make It Optional.
Feature branches and merge queues were how we coped with slow humans. When an agent finishes a task in ten minutes, the overhead is the bottleneck.
Read Post
Don't Read the PDF. Write the Parser.
I stopped feeding hospital PDFs to a vision model. When the layout changes, the AI fixes the parser instead — and production never sees a token.
Read Post
Voice Agents Don't Know When You're Done Talking
Most builders assume end-of-turn detection is a silence threshold. That model breaks in production. The fix is architectural: four probabilistic events, speculative reasoning, and everything downstream cancellable.
Read Post