cursorboy.com(not based off of cursor, this was my xbox360 username back in 2012.)
est · 2026 · San Francisco Bay Area

Solo developer · 2026 · shipped

program-design

See what your AI actually built — a verifiable map of any codebase.

A free tool that reads any AI-built app and draws a live map of it from the real code. When your agent says “done, I added login,” it checks that claim against the source and answers CONFIRMED, ABSENT, or UNDETERMINED — with a file:line receipt, never a guess.

  • Deterministic facts-graph extractor (ts-morph) — every node carries a file:line receipt and a confidence tier
  • Three verdicts computed in code, not a second AI; a “no false ABSENT” invariant degrades to UNDETERMINED
  • Narrator LLM fenced to fact-bound statements with a fail-closed lint — it can't fabricate
  • Live SVG structure map over a 127.0.0.1-only, token-guarded daemon that re-extracts on change
  • Installs as a Claude Code plugin in two lines; no API keys, no telemetry, runs locally
  • TypeScript
  • ts-morph
  • Node
  • Claude Code
  • npm
program-design — screen 1
The live map — your app drawn from the real code: what people see, the servers, where data lives.
3verdicts, computed in code
file:linereceipt per claim
0API keys or telemetry

how it works

  1. 01

    Extract

    A deterministic extractor walks the repo with ts-morph and builds a facts graph — routes, server actions, middleware, env vars, Prisma models, frontend→route wiring — each node tagged with a file:line and a confidence tier. A file that won't parse becomes a ParseFailure and leaks no partial facts.

  2. 02

    Check

    checkClaims() takes a structured claim manifest plus the graph and computes CONFIRMED / ABSENT / UNDETERMINED purely from code. ABSENT requires provable absence — an allowlisted pattern, evidence the rule actually ran, and no parse failure — otherwise it degrades to UNDETERMINED.

  3. 03

    Narrate

    One LLM surface translates the claim in and narrates the facts out, fenced to fact-ID-bound statements with a fail-closed lint. It can phrase the verdict but never render or alter it.

  4. 04

    Map

    `npx program-design live` starts a 127.0.0.1-only, token-guarded Node daemon that draws a live SVG structure map and re-extracts on every save (chokidar), long-polling the browser.

  5. 05

    Plug in

    Ships as a Claude Code plugin: a SessionStart hook offers the live map, a Stop hook verifies the agent's “I added X” claims — two lines to install, fetched by npx, no config.

program-design — screen 2
Every box is drawn from the facts graph and carries a file:line receipt.
program-design — screen 3
Claim time: the agent says "done" and each statement is checked against the code.
program-design — screen 4
See what your AI actually built — the pitch.
up next · chapter 04The Bias GraphA custom neural network that reads media bias the way an editor would — relative to everyone else.