This is a submission for the Notion MCP Challenge
HelloDev β The Sprint Tracker That Runs Itself
No standups. No manual updates. Just ship.
What I Built
HelloDev is an agentic sprint tracking system built for the modern SDLC β one where developers shouldn't have to touch a project management tool to keep it accurate.
The core idea: a developer runs hellodev start bug-#3 --dev Alice, writes code, commits, and runs hellodev done bug-#3. That's it. Everything else β Notion updates, activity logs, time tracking, commit counts β happens automatically in the background.
The Problem It Solves
Engineering teams waste real hours each week on ritual updates:
- Moving Jira/Notion cards manually
- Writing standup messages nobody reads
- Copy-pasting commit summaries into ticket comments
HelloDev eliminates this entirely by treating the developer's actual workflow (git commits, coding sessions, CLI commands) as the source of truth β and syncing it directly to Notion.
Architecture
Developer Machine
β
βββ hellodev CLI β POST /start, /done, /status
βββ Git post-commit hook β POST /commit (auto, no dev action)
βββ VSCode Copilot Chat β MCP tools (list_tasks, start_task, etc.)
β
βΌ
Express Server (localhost:3333)
β
βββ Session Manager (in-memory, single active task)
βββ Timer + Idle Det. (5-min idle threshold)
βββ Notion Client (@notionhq/client v2.2.15)
β
βΌ
Notion Workspace
βββ Sprint Board (task lifecycle: Todo β In Progress β Done)
βββ Activity Logs (per-session: time, commits, lines changed)
βββ Developers (team registry)
Key design decisions:
- MCP server uses stdio transport β runs as a subprocess in VSCode, zero network config
- MCP tools proxy to Express via axios β clean separation of concerns
-
@notionhq/clientpinned to v2.2.15 β v5.x has breaking API changes, stay pinned - CommonJS throughout (no TypeScript) β faster iteration, simpler deployment
- Git hook is pure bash + curl β no Node dependency in the hook itself
What It Tracks Automatically
Every session captures:
| Metric | Source |
|---|---|
| Session start / end time | Timer module |
| Total hours coded | Idle-aware timer |
| Commit count | Git hook β POST /commit |
| Commit messages | Git hook (pipe-separated) |
| Files changed |
git diff --stat in hook |
| Lines added / removed |
git diff --numstat in hook |
All of this lands in a linked Activity Log entry in Notion, related back to the Sprint Board task.
Video Demo
Show us the code
π GitHub: github.com/KimtVak8143/HelloDev
How I Used Notion MCP
Notion MCP is the backbone of HelloDev's intelligence layer β specifically what makes it agentic rather than just a logging tool.
The Integration
HelloDev uses two separate MCP surfaces:
HelloDev MCP Server (custom, stdio):
Runs as a subprocess in VSCode via mcp.json. Exposes 5 tools to GitHub Copilot Chat:
| Tool | What it does |
|---|---|
list_tasks |
Pulls pending Sprint Board tasks for a developer |
start_task |
Marks task In Progress in Notion + starts timer |
complete_task |
Marks Done, seals the Activity Log |
get_status |
Returns live session: elapsed time + commits |
get_sprint |
Full sprint board overview |
This means a developer can type in Copilot Chat: "What tasks do I have this sprint?" and get a live Notion query β no context switching, no browser tab.
Direct Notion API via @notionhq/client :
Under the hood, every MCP tool call hits the Express server, which calls Notion directly.
What Notion MCP Unlocks
Without MCP, HelloDev would be a CLI tool that talks to Notion. Useful, but closed. With MCP:
- Copilot Chat becomes a sprint interface β ask questions, get Notion data, trigger actions β all from the editor
-
The system is composable β future AI agents can call
list_tasksorget_sprintas part of larger automated workflows - Zero context switching β the developer's entire sprint lives inside their coding environment
The real unlock is that Notion stops being a destination you visit and becomes a data layer your tools read and write automatically.
What's Next β Auto Standup Report delivered to your inbox
The next phase generates a daily Notion page at EOD β summarizing every developer's activity from the last 24 hours:
- Tasks completed
- Total hours coded
- Commits made
- Active blockers (tasks still In Progress)
No meeting. No Slack message. Just open Notion Monday morning.
Built with Node.js Β· Express Β· Notion API Β· MCP SDK Β· Git hooks
π What's Further Ahead β VSCode Extension
The natural evolution of HelloDev is a first-class VSCode Extension β
eliminating even the CLI and making sprint tracking truly invisible to the developer.
What the Extension Would Do
- Auto-detect the active git repo and developer identity
- Show a status bar item:
β± bug-#3 β 1h 24m β 3 commits - Trigger
start/donevia the Command Palette (Ctrl+Shift+P β HelloDev: Start Task) - Surface pending sprint tasks in a dedicated sidebar panel (TreeView)
- Replace the git hook with a native VSCode
workspace.onDidSaveTextDocumentlistener
Top comments (0)