BeadMeUp,Scotty
A fast, graph-aware task board for humans — sitting on top of beads (bd), Steve Yegge's distributed graph issue tracker built for AI agents. Kanban flow, a live dependency graph, epics with progress, and human-vs-agent attribution.

The board · 28 beads · live from bd list
Watch it in action
A two-minute tour — switch projects, flow work across the board, expand epics, and link dependencies on the live graph.
Prefer YouTube? Watch it there ↗
An interactive home for work built by agents and humans alike
beads was designed for AI agents to plan and track each other's work. Bead Me Up gives the humans in the loop a place to see it, steer it, and add to it.
beads has a powerful CLI — but no visualizer
beads (bd) is a distributed, graph-based issue tracker designed for AI agents, storing every bead in a version-controlled Dolt database. It ships a great command line, but nothing interactive to see your work — or to create it.
A board humans actually want to use
Bead Me Up, Scotty is that missing window: a dense, fast, keyboard-friendly board that reads and writes real beads. View statuses, drag work through a flow, expand epics, and link dependencies on a live graph.
bd stays the single source of truth
The app never touches the database directly. Every read and write shells out to the bd CLI with JSON envelopes, so ID hashing, the ready-queue, epic math, and the audit trail stay correct by construction. Zero new persisted schema.
Everything you need to run a beads repo by hand
Manage tasks and epics, comment, archive, delete, see and edit dependencies, and flow work from backlog to done — all backed by the bd CLI.
Five-column board
Backlog · Ready · In Progress · Blocked · Done. Dense cards show id, type, priority, assignee, dep & comment counts, and an origin badge.
Multiple projects
Open any folder with a .beads repo, switch between them, or add one from the built-in folder browser. Each tab scopes to its own project.
Backlog ↔ Ready drag-and-drop
Drag cards between columns to change status — Backlog maps to deferred, Done runs bd close. Every move is optimistic with rollback.
Live dependency graph
An interactive React Flow canvas of beads as nodes and typed edges. Drag node→node to link, with cycle-checking on every edge.
Board or list
Prefer a flat view? The List tab shows every bead sorted by priority — id, type, priority, origin, and assignee in one scannable column.
Epics with progress
Epics with live closed ÷ children progress bars and expandable child lists. Add a child straight into an epic.
Human-vs-agent attribution
Every bead and comment shows 👤 human or 🤖 agent, derived from a configurable allowlist — so you always know who created what.
Typed dependencies
View, add, and remove blocks, parent-child, and related edges in the detail drawer — grouped by type, with blocking ones flagged.
Comments & activity
Author-stamped comment threads with a composer on every bead, plus a created / updated / closed activity trail.
Create, edit & attach
Add tasks and epics — type, priority, description, assignee, labels, parent epic, start-in-backlog — edit inline, reorder, and attach images.
Live updates & themes
Changes stream in instantly over SSE when agents edit data underneath you — no refresh — with a poll fallback. Actor, allowlist, and light/dark in Settings.
See it from every angle
Designed in Claude Design and rebuilt faithfully with Next.js, shadcn/ui, and Tailwind.

One window for every project
Switch between any folder with a .beads repo — or add a new one from the built-in folder browser. Each tab scopes to its own project.
One thin bridge to the bd CLI
beads has no HTTP API, so every action shells out to bd with --json. The app adds zero new persisted schema.
reads flow back the same path · validated with Zod · pushed live over SSE as files change
Backlog = deferred
There's no first-class backlog in beads, so Backlog maps to the built-in deferred status and Ready = open & unblocked. Dragging runs bd update --status / bd close.
Attribution by actor
beads has no human-vs-agent flag. The UI stamps its own writes with BEADS_ACTOR; anyone in your allowlist renders 👤, everyone else 🤖.
Archive without losing history
There's no archive command, so Archive = bd close + an archived label — fully reversible, audit trail intact. Delete is bd delete behind a confirm.
Correct by construction
Args are passed as an array (never a shell string), output is validated with Zod, and writes serialize through an in-process queue for embedded single-writer mode.
Run it against your own .beads repo
Point it at any directory with a beads repo and bd on your PATH — or explore every feature in demo mode with no install. Local-first, single-user, yours.
http://localhost:3000 · or install once and run scotty from any beads repo · falls back to demo mode automatically