Building Apps with AI: How beads Changed My Development Workflow
Part 1 of 2: From Spec Documents to Living Issue Trackers
TL;DR
I built a real estate comparison app using Claude Code and a tool called
Source Code: , which formalizes SDD into a six-phase workflow:
SDD frameworks like agent-os are great for complex features that need upfront design. But what if you want to skip straight to task management with automatic prioritization?
Enter beads: Task-First with Graph-Based Dependencies
3. Explicit Dependencies = Enforced Execution Order
bd dep add mission-house-abc mission-house-xyz
# "abc depends on xyz" (xyz blocks abc)
This isn't prose that might be ignored - it's a graph edge. The AI literally cannot see abc in bd ready until xyz is closed.
Quick Start: Installing beads
For macOS users:
brew tap steveyegge/beads
brew install bd
# Initialize in your project
cd your-project
bd init
Other options: npm install -g @beads/bd or go install github.com/steveyegge/beads/cmd/bd@latest
That's it. You now have a .beads directory in your repo.
The App: Mission House
Before diving deeper into beads, let me briefly introduce what we built. Mission House is a property comparison tool for Melbourne house hunters. It helps answer questions like:
- Which catchment schools serve this address?
- How long is the commute to the CBD?
- How do these 4 properties compare on a radar chart?
Every arrow represents a bd dep add command. The AI knows it can't work on "Web Scraper" until "URL Input Form" is done.
What's Coming in Part 2
In the next post, I'll dive deep into:
The JSONL Advantage - How storing issues in plain text gives AI assistants "long memory"
Workflow Patterns - Epics → Features → Tasks hierarchy
Real Issue Examples - Actual JSON from our project
beads vs. Spec-Driven Development - A detailed comparison
The Drawbacks - What didn't work so well
Advanced Features - Tombstones, sync branches, and multi-session workflows
Key Takeaways
Task-first vs. spec-first - beads lets you create issues directly; SDD requires specs first
Graph-based dependencies - Explicit edges, not prose to interpret
bd readyis the killer feature - Automatic prioritization via graph traversal
Enforced execution order - Blocked tasks are invisible until unblocked
Continue to Part 2: Deep Dive into beads Workflow →
SOCIAL SHARE CARD GENERATOR