Three months ago I was using an AI coding agent to build a feature for a project. It wrote around 300 lines across 6 files in about 4 minutes. I reviewed the diff, it looked reasonable, I shipped it.
Two days later, production broke in a way I couldn't debug immediately. When I went back through the code to find the issue, I realized something uncomfortable: I couldn't actually explain what that AI-generated code was doing, file by file, line by line. I had reviewed it but never truly understood it.
I'd shipped code I didn't own.
That's when I started building Overseer.
What Overseer Does
Overseer is a real-time narration daemon for AI coding agents. It watches your filesystem as your agent writes, extracts diffs, runs them through an LLM, and streams plain English narration to a live dashboard.
The core pitch: CodeRabbit reviews code after it's committed. Overseer watches code as it's being written.
How It Works (The Technical Pipeline)
Here's the actual stack:
\
File System Changes
↓
chokidar (file watcher)
↓
Diff Extraction
↓
Analysis: { summary, intent, risks, fix }
↓
WebSocket Broadcast
↓
Next.js Dashboard → Live Cards
\\
Key decisions I made and why:.
Per-file cooldowns + minimum diff size filters: Without these, every keystroke triggers an API call and you blow through ratelimit in minutes. I set a minimum diff size of 50 characters and a per-file cooldown of 8 seconds. Keeps the narration meaningful without hammering the API.
The "fix" field: The initial analysis just had summary + risks. Adding a remediation field ("here's what to do if this is a problem") was the change that made the tool feel genuinely useful rather than just interesting.
JWT auto-refresh in the CLI: The daemon runs long sessions. Auto-refresh means it never drops mid-session because of an expired token.
The Monorepo Structure
\
overseer-main/
├── packages/
│ ├── daemon/ # Node.js file watcher + diff +
│ ├── backend/ # Express API + WebSocket server
│ └── dashboard/ # Next.js live feed UI
\\
Five Supabase tables with Row Level Security. Install is just:
\bash
npx overseer watch
\\
Where I Am
- Core pipeline: complete and end-to-end tested ✅
- Dashboard rendering: complete ✅
- Next step: launch
Why I Built This
I'm 17, building solo from India. I got into developer tools because I believe the AI coding wave is creating a comprehension gap that nobody is addressing. Existing tools (code review bots, PR agents) catch quality issues after the fact. They don't help you understand what's happening while it happens.
That's the gap Overseer targets.
Try It / Follow Along
I'm building fully in public. GitHub: goswamiashish2943-hub/overseer-main
If you're using Cursor, Cline, Windsurf, or any AI coding agent and want early access — waitlist is open at
https://overseer-zeta.vercel.app/
Drop questions in the comments — genuinely happy to go deep on any part of the implementation.
Top comments (0)