Case study · Agent operations

Houston watches every agent.

A native macOS dashboard for the new shape of building software: several AI coding agents working in parallel across projects, and one human deciding what happens next. No Electron, no daemons, no configuration: it observes what is already running and shows it to you.

STATUSAdvanced working prototype · my daily driver
ROLEProduct, macOS architecture, systems design
STACKSwiftUI · AppKit · SwiftTerm · Git
HOUSTON · ALL SESSIONS ⌘K
2 working 1 needs decision 1 waiting
Wire web invites for share codes~/Lets · main
now
Add privacy manifest~/Momentum · main
2m
Seed summit challenge packs~/PeakDex · agent/wt-01
now
Refactor timeline data loader~/Siren · main
12m
⚠️ Momentum needs a decision Allow “xcodebuild test”?
Approve Esc
Problem

Agents multiplied. Attention didn't.

AI-assisted development quietly changed shape: instead of one editor and one task, the day became a fleet, with an agent refactoring in one repo, another running tests in a second, and a third blocked on a permission prompt nobody noticed for twenty minutes. The tooling for this is a wall of terminal tabs, and the failure mode is silence: a blocked agent looks exactly like a working one.

Houston starts from the operator's question, not the agent's: at a glance, who is working, who is waiting on me, and what is the single next decision I owe? It treats your own attention as the scarce resource the product manages.

PRODUCT LOOP

Observe, triage, decide, resume.

The loop is built around interruptions that earn their place: the app stays out of the way while agents work, and raises its hand only when one of them needs a human.

01

Observe

Every agent session across every project is discovered automatically: live status, working directory, git branch, and the conversation's own topic title.

02

Triage

A status wall sorts the fleet into working, needs-decision, waiting, and idle, with filters and a ⌘K palette to jump anywhere by typing a few letters.

03

Decide

Blocked agents surface as actionable notifications. Approve or deny without opening the app; prompt-aware buttons render the agent's question as one click.

04

Resume

Any conversation continues inside the app in a real embedded terminal: take over a session, fork a copy, or pin a wall of live chats to a workspace.

Process

Built native, designed for a glance.

GLANCEABILITY

Readable from across the room

Status has to be legible in half a second: color-coded dots, a dock badge that counts only real decisions, and a menu bar extra for when the app is hidden.

NATIVE

Real terminals, no Electron

Embedded PTYs via SwiftTerm mean the in-app sessions are the real thing: fully interactive, with the app reading the screen to offer prompt-aware quick actions.

TRUST

Observe, don't orchestrate

No daemons, no config, no wrapper CLI. It watches what already runs, local transcripts and processes, so adopting it costs nothing and breaks nothing.

Current Build

  • Projects sidebar with live status dots, session cards, and per-project git state.
  • Embedded interactive terminals with prompt-aware approve/deny buttons.
  • Actionable notifications, dock badge, and menu bar counts for blocked agents.
  • Agent worktrees: parallel agents on isolated branches with diff and merge tools.
  • Usage stats over local logs: tokens per day, by model, by project, tool leaderboard.
  • Remote hosts over SSH, history browser, and a ⌘K command palette.

Next Bets

  • Fleet view across remote machines as a first-class surface.
  • Smarter triage: surface the blocked agent that matters most, not just the loudest.
  • Usage budgets and alerts layered on the stats engine.
  • A shareable build for other agent-heavy developers.
What I learned

The operator is the user.

Building a tool for my own daily workflow is the fastest product feedback loop I've ever had: every rough edge gets hit within hours, and every fix pays rent the same day. The discipline is resisting features that demo well but interrupt badly.

It also reframed the rest of the portfolio. Lets, Momentum, and PeakDex are all being built by agents that Houston supervises, so the meta-tool isn't a side quest, it's the factory floor. Improving it compounds across everything else I ship.

Next: make the fleet shareable.

The build is a personal daily driver today. The next milestone is hardening it into something other agent-heavy developers can install and trust on their own machines.

Contact Kevin