Log
Technical articles and lessons from a decade of building web applications.
· 8 min read
The Claude Code Scheduler Has a Three-Day Expiry
Version 2.1.71 shipped /loop into Claude Code. The constraints in its design reveal exactly what Anthropic is building next.
· 6 min read
How I Automated My Entire Substack Workflow
From drafting articles to scheduling notes to engaging with readers. One system runs all of it.
· 9 min read
Multi-Agent Orchestration Is Solving the Wrong Problem
The HN wave of 'agents as teammates' assumes the team metaphor improves output. The production data suggests it improves comprehension instead.
· 9 min read
Most Agent Failures Aren't Reasoning Failures
97% of a subprocess output vanished between runs, and it took two weeks to realize every bad agent decision traced back to context, not cognition.
· 12 min read
Two Commands That Shipped Before the Docs
v2.1.63 added /simplify and /batch at 03:45 UTC. One has a traceable lineage through the plugin marketplace. The other has a name, a release timestamp, and a feature request filed three days before it shipped.
· 9 min read
541 Hours of Claude Code in 20 Days
82% success rate sounds great until you examine the 18% — entire sessions lost to context limits, wrong approaches, and one mission that generated 1.7GB of garbage output.
· 8 min read
Isolation as Configuration
Claude Code's worktree support isn't a workflow convenience — it's the first declarative isolation primitive in multi-agent coding tooling, and it changes what parallel execution actually means.
· 9 min read
Why the Decomposer Always Picks Backend-Engineer
83 of 275 phases in Via's mission history were assigned to backend-engineer — 30.2% of all decomposed work. The second-place persona got 36. Here's why that gap exists and what it costs.
· 7 min read
The Platform Came Last
I didn't design Via as a platform and then write plugins for it. I built nine CLI tools that each solved one problem, and the platform was what emerged when they needed to talk to each other.
· 8 min read
Amazon Blamed the Humans
Amazon's AI coding tool deleted and recreated a production environment. The official statement blamed the humans. The post-hoc safeguards told a different story.
· 8 min read
How the Orchestrator Actually Works: 7 Packages, 4,570 Lines, Zero Magic
I typed orchestrator run and watched three agents spin up in parallel, each writing to its own directory, none aware the others existed. This is the 4,570-line Go system that makes that work.
· 10 min read
MCPs Are Dead. CLIs Won.
A Hacker News post declared the protocol wars over. I've been building on that thesis for months — 175 missions, 9 plugins, zero MCPs. Here's what I actually learned.
· 8 min read
My AI Agent's Memory System Was 60% Dead
I audited Via's five memory layers against Google's memory taxonomy. Three hooks silently failed. MEMORY.md was structurally bypassed. Only one layer — the learnings database — was actually persisting knowledge across sessions.
· 10 min read
The Death of Code Review
Code review was the last quality gate in open source. AI-generated PRs are making it economically unviable. When it takes 30 minutes to review what took 30 seconds to generate, what replaces human judgment?
· 12 min read
The #1 Thing My AI Agents Learned Wasn't Code
I built a system that captures what AI agents learn across 175 missions. The most-used learning — retrieved 247 times — isn't a code pattern. It's a publishing decision.
· 7 min read
Eight Months Old and Already Load-Bearing
I built my thesis on Docker 0.8. The tool barely existed. The instinct I built using it has never stopped.
· 7 min read
The Patterns From My First Job
A remote hire in the Philippines, inheriting an existing product. Four inconsistent APIs on a client project I wasn't supposed to be building. Docker before anyone in the room believed in it. The patterns that formed before I had words for them.