TODO comments with owners, age and SLAs

Dev toolWebweekendNext.jsGitHub AppSupabase

The idea

Every codebase over two years old carries hundreds of TODO and FIXME comments, and nobody can answer the basic questions: who wrote this, how long has it sat there, and does anyone intend to fix it. The comments are invisible in normal workflows, so they surface only during rewrites and audits, at which point they are archaeology rather than tasks.

Existing tools like Tickgit produce read-only lists, which is where they stop being useful. The wedge here is attribution and pressure: git blame gives each TODO an owner and an age for free, and a Slack nag loop turns a static list into something that actually shrinks. Tech leads already believe in this pattern because bundle-size bots and coverage bots proved that automated, named accountability changes behaviour.

Who pays

The buyer is a tech lead or engineering manager at a 5 to 20 person team, paying 9 to 29 dollars a month per org on a card without procurement. Distribution is the README badge (every public repo wearing one is an ad), plus launch posts aimed at the recurring “our repo has 400 TODOs” conversation on Twitter and Hacker News.

MVP scope

  • GitHub App install flow that scans TODO/FIXME/HACK on push to the default branch
  • git blame attribution mapping each item to a GitHub login and an age in days
  • Repo dashboard with a filterable table by owner, age and tag type
  • Per-repo SLA rules with Slack breach alerts and a weekly per-owner digest
  • Public SVG badge endpoint for the README
  • Skip for v1: Jira/Linear sync, monorepo path scoping, custom comment patterns, GitLab support
// Build prompt — paste into Cursor / Claude Code / Lovable / Bolt
Build TodoLedger, a web app that turns TODO comments into tracked debt. Stack: Next.js (App Router) on Vercel, a GitHub App for repo access and webhooks, Supabase for Postgres and auth.

Core flow: user installs the GitHub App on selected repos. On install and on every push to the default branch, a background job clones the repo shallowly, greps for TODO, FIXME and HACK comments, and runs git blame on each match to extract the author and the commit date. Store each item in Supabase with file path, line, text, owner (blame author mapped to a GitHub login), and age in days.

Pages: marketing landing, dashboard listing repos with TODO counts and average age, repo detail with a filterable table (owner, age, tag type, path), settings for SLA rules and Slack webhook.

SLA logic: per-repo rule like FIXME over 30 days or TODO over 90 days breaches. A weekly cron posts a Slack digest grouped by owner, plus an immediate message when an item breaches. Generate an SVG badge endpoint (/badge/:repo) showing open TODO count for READMEs.

Non-obvious details: dedupe items across pushes by hashing path plus normalised comment text, so line-number shifts do not create duplicates; mark items resolved when they disappear from a scan. Auth via GitHub OAuth only.

Pricing: free for one public repo, 19 dollars a month for unlimited private repos per org, Stripe checkout.

// More Dev tool ideas