(2025-11-30) Building Apps With Ai How Beads Changed My Development Workflow

Koustubh: 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 beads - a git-native issue tracker designed for AI-assisted development. This post explores how beads transformed my workflow from writing lengthy spec documents to having a living, breathing project tracker that my AI assistant actually understands.

Live Demo: Mission House App - This is a SPA with no backend, so it requires a Google Maps Platform API key to be provided on the UI to render fully

Spec-Driven Development (SDD)

a methodology where detailed specifications drive the implementation process

Different frameworks implement SDD differently.

One popular implementation is agent-os, which formalizes SDD into a six-phase workflow:

agent-os works well, but has trade-offs:

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?

*The key difference is where control flow lives:

In SDD, control flow is implicit in prose. In beads, control flow is explicit in a DAG.*

To be clear: SDD shines when architectural intent must be stabilized early — beads optimizes for execution once intent is roughly understood.

Enter beads: Task-First with Graph-Based Dependencies

Instead of the spec-first approach, beads is task-first - you create issues directly, with explicit dependencies stored as graph edges.

1. Compact JSONL, Not Verbose Markdown

2. Automatic "What's Next?" via Graph Traversal

This is the killer feature

The graph database computes eligibility automatically based on explicit status, dependencies, and user-defined priority.

3. Explicit Dependencies = Enforced Execution Order

Quick Start: Installing beads

The App: Mission House

*Mission House is a property comparison tool for Melbourne house hunters. It helps answer questions like:

Which catchment schools serve this address? How do their NAPLAN scores compare to each other?*

The interesting part isn't the app itself - it's how we built it using beads.

How I Used beads: A Real Example

*Although beads is task-first, I didn’t start from a blank slate.

I began with a lightweight requirements.md that described*

*I then asked Claude Code (with beads installed) to:

Read requirements.md Propose epics, features, and tasks Encode them directly into beads issues with explicit dependencies*

In other words, requirements existed, but they were treated as input, not as a continuously consulted execution artifact.

Once the task graph existed, beads became the primary source of truth.

The Dependency Graph

What's Coming in Part 2


Edited:    |       |    Search Twitter for discussion