Fathohm — Comprehension-Debt System of Record
Fathohm makes an invisible problem visible: the gap between what a codebase does and what any human on the team actually understands. As AI agents write a growing share of production code, teams accumulate comprehension debt — modules nobody reviewed deeply and nobody can explain. Fathohm analyzes code authorship and human review depth via a read-only GitHub App, classifies agent-authored vs human-authored commits (heuristics first — co-author trailers, committer signatures — with batched LLM classification only for the ambiguous residue), and computes a deterministic, fully explainable comprehension score per module. The hero view is the Map: a treemap of the repository colored by score, built to stay fast on 10k+ file repos. Everything derives from an append-only event spine, so improving the scorer retroactively re-values all history. Source code is read transiently and never persisted — stored data is metadata, events, scores, and summaries only. Live at fathohm.dev: the GitHub App is free to install and uninstallable from GitHub at any time, with weekly digests tracking debt movement, a guided paydown loop (read a briefing, answer comprehension questions), policy floors for critical paths, and a public gallery of scored open-source repositories.
Products I own and operate end to end — my roadmap, my users, my on-call.

- ▸Quantifying 'human understanding' of code — a fuzzy concept — as a deterministic, defensible metric teams will trust
- ▸Classifying agent-authored vs human-authored commits reliably without an LLM in the hot path of every score
- ▸Rendering a comprehension treemap that stays fast on repos with 10k+ files
- ▸Backfilling 50k-commit histories from the GitHub GraphQL API without losing progress on restarts
- ▸Scoring is pure TypeScript, table-driven tested, and every score row carries its factor breakdown — the UI can always decompose a number into visible causes
- ▸Heuristics first (co-author trailers, committer signatures like claude_code/copilot/cursor); batched LLM classification only for the ambiguous residue, behind a swappable Classifier interface
- ▸Directory-level aggregation beyond 2k nodes plus virtualization keeps the Map responsive at scale
- ▸Resumable backfill with cursor checkpoints in Postgres — a long ingest survives worker restarts
- ▸Append-only code_events spine: scores are derived and re-computable, so scorer improvements re-value all history
Live at fathohm.dev — GitHub App free to install, plus a public gallery of scored open-source repos
Read-only by design: the GitHub App requests read scopes only and never persists raw source
Deterministic, explainable scores — no black boxes; detection methodology is public
User corrections to authorship labels are stored as first-class events, becoming a proprietary training dataset
JobJam.io — AI Job Search & Application Platform
AI-powered job search platform: discover roles, evaluate fit, tailor applications, and close skill gaps. One-time pricing, no subscriptions.
Grenz — Firewall for AI Agents
A local firewall for AI agents: scoped, revocable, observable permissions instead of your full GitHub token. Deny-by-default, MIT licensed, live at grenz.dev.
AI Workflow Builder
Chain LLM steps into a workflow with {{stepId.output}} substitution between steps. Pick a preset, edit any prompt, watch the chain execute step by step.