Skip to content
jrpbuildsback to work
signal-house/MIT/v2.2
local · localhost:8999

Stop asking the agent
how it thinks it’s doing.

Signal House is a local operator dashboard for AI-assisted development. It reads Git, GitHub and agent sessions, then shows the boring evidence that actually matters: delivery, cycle time, CI health and spend.

LOCAL STATEFAIL CLOSEDNO CLOUDNO TELEMETRYNO SYNTHETIC ZEROSONE BUN PROCESSREAL DELIVERY DATA

Busy is not the same
as shipping.

Agent tooling is excellent at producing activity. Sessions run. Tokens disappear. Terminals scroll. None of that tells you whether useful work is getting merged.

Signal House ignores the self-report and reads the systems of record instead. Git tells it what changed. GitHub tells it what shipped. CI tells it what broke. Agent databases tell it what the work cost.

signalsourceoperator questioncontract
throughputgit + githubDid work actually land?observed
cycle timeissues + PRsHow long does delivery take?measured
CI healthactions + checksAre changes staying healthy?ground truth
agent spendsession DBsWhat did that output cost?direct / estimated
missing dataany sourceDo we actually know?— unknown

Read the ground truth.
Keep it local.

The collector layer reads local repositories, GitHub and supported agent databases. A small orchestration layer refreshes and normalises that data into SQLite. The React dashboard reads one privacy-filtered API surface.

Built for operators,
not dashboard theatre.

The product is intentionally opinionated about data quality and privacy. A prettier number is never more valuable than an honest one.

RULE_01

Unknown stays unknown.

Missing data is rendered as an em dash instead of silently becoming zero. No synthetic zero-days. No confident fiction.

RULE_02

Privacy fails closed.

If repository visibility cannot be verified, Signal House treats it as private. Private-repo attention items remain hidden unless explicitly enabled.

RULE_03

Local means local.

No hosted analytics service, account or telemetry pipeline. One process reads the state already on your machine and serves the operator UI.

Five numbers.
Drill down when needed.

The top-level view is deliberately compact: throughput, cycle time, CI pass rate, stale work and agent spend. The rest of the interface exists to answer “why?” when one of those moves.

signal-houselocalhost:8999 · live data
The Signal House operator dashboard: throughput, cycle time, CI health, stale work and cost metrics at the top, with delivery charts and a per-model agent spend breakdown below
01

Delivery

Commits, merged PRs and CI pass rate share the same 7/30/90-day window so activity and quality can be read together.

02

Agent spend

Cost, sessions, tokens, cache hit rate and per-model efficiency expose where the budget is actually going.

03

Attention queue

Open issues and PRs that need eyes surface with age, staleness and CI state attached.

04

Diagnostics

Collector health, discovered repositories and configuration state stay inspectable instead of failing invisibly.

One runtime.
Very little ceremony.

Signal House was rewritten around Bun to keep deployment boring: one runtime, one package manager and one server process.

~/signal-housebash
$git clone git@github.com:barkley-assistant/signal-house.git
$cd signal-house && bun install
$cp .env.example .env
$bun run dev
operator dashboard listeninghttp://localhost:3000
Bun 1.4TypeScriptReact 19SQLiteEChartsZustandPlaywrightsystemd
OPERATOR CONSOLE READY

See whether the work
is actually moving.

Run it locally, inspect the source, or open the live deployment.