STEVEY // FIELD MAP
← field map
AI ERA2025

Beads Blows Up

Steve Yegge · November 6, 2025 · Medium
TL;DR — Three weeks after launch, Beads — Yegge's Git-backed issue tracker that gives AI coding agents a persistent, structured memory — went viral by word of mouth. This is the momentum post: strangers at meetups thanking him, 27 contributors, and a tool spreading across every agent platform despite being buggy and "100% vibe coded." The lessons that stuck: the core design was right (Git + JSONL + SQLite cache), Go beats TypeScript for agent-written code, and the workflow that makes it addictive is telling the agent to "land the plane" at session end. What Beads refuses to become: anything more than working memory.

Yegge's earlier Beads posts were the pitch. This one is the field report — written by someone who says he's been "too busy building" to blog, watching a scrappy side project he vibe-coded turn into something people evangelize back to him in person.

The blow-up

The framing joke is that Beads got popular fast and Yegge has the world's least rigorous evidence for it: a handful of people at Seattle AI Tinkerers events walking up to tell him they love it. He extrapolates from that sample with a straight face, which is the whole gag — but underneath the joke, the adoption is real: 27 contributors with merged PRs, daily high-quality bug reports, and the tool showing up across Copilot Codespaces, Amp Free, npm, Homebrew, and Claude Code.

"So from that incredibly rigorous statistical sample, fully 3% of the world's developers are using Beads!"Beads Blows Up

The core design held

The most reassuring lesson for Yegge is a negative result: nothing about the foundation needed to change. Git-backed storage, JSONL as the source of truth, a SQLite layer for fast queries — those bets survived contact with thousands of users and a pile of bugs. His point is that a good architecture buys forgiveness for a rough implementation.

"That core design, folks, makes up for a lot of Beads implementation deficiencies."Beads Blows Up

The durability shows up where it counts most — the data. Because everything lands in Git, the failure mode of "the agent lost my work" essentially doesn't happen.

"It's very rare to lose work in Beads, about as rare as losing code in Git."Beads Blows Up

Go beat TypeScript — for the agents

The surprise lesson is about language choice, and it's not about Yegge's own preferences — it's about what the agents can and can't do. He found agents write cleaner, more maintainable code in Go, and can't stop themselves from producing messy TypeScript (duplicated interfaces, sixteen slightly-different copies of the same type). Go's brutal simplicity turns out to be an alignment feature: there's less rope for the model to hang itself with.

"AIs cannot seem to stop themselves from writing dodgy TypeScript, whereas it doesn't seem possible to write bad Go code."Beads Blows Up

Landing the plane

The workflow ritual that makes Beads sticky is a session-end handoff Yegge calls "landing the plane": before you shut an agent down, you tell it to wrap up — file the remaining work as issues, close what's done, push the branch — so the next agent (or the next you) picks up with full context instead of a cold start. Beads is what makes that handoff survive across sessions, which is why he describes the loop in the language of addiction.

"When I'm ready to shut an agent down and push its work, I just tell it to land the plane."Beads Blows Up

His pitch for the feeling is deliberately unhinged — the structured memory is "like adderall for them, and like crack for you" — but the mechanism underneath is mundane and load-bearing: the friction in the handoff between sessions is gone.

What it refuses to become

The roadmap section is unusually honest about limits. Beads is still buggy, 1.0.0 is "weeks away or months away," and Yegge is explicit that finished and future work should eventually leave Beads (GitHub Issues for future items; periodic deletion for closed ones). The discipline is a definition, not a to-do list: Beads is working memory for active agents, and he intends to keep it that small.

"Beads is meant to be the working memory for your active agents. Nothing more nor less."Beads Blows Up

And he won't pretend the abstraction is airtight. It leaks — you'll see the JSONL, you'll see the mechanics — and he'd rather tell you that up front than sell a clean fiction.

"Beads is a leaky abstraction, and it will remain that way."Beads Blows Up
Companion note: Igor's igor2 repo runs Beads (bd) as its issue tracker of record — the "land the plane" handoff and the working-memory framing are exactly the loop the project leans on for fire-and-forget agent tasks.