Milestone Heatmap / Delivery Calendar
Build an internal tool that imports milestones from every project, renders a calendar heatmap, and flags the crunch weeks and at-risk deliverables before they collide - with a PMO approval gate before any rebalancing is shared.
A login-protected portfolio calendar that highlights crunch weeks and past-due milestones, lets the PMO review and approve any rebalancing recommendation, and exports clean calendar data back to CSV.
Before you start
- A list of milestones across your projects (CSV or Google Sheet) with target dates and status
- Free Vercel, Supabase, and Resend accounts (all have free tiers)
- Claude Code installed on your machine
The problem this kills
Every project manager swears their milestones are under control. Then the third week of the quarter arrives and six teams all need the same reviewers, the same environment, and the same executive sign-off in the same five days. Nobody saw it coming because the milestones lived in six different plans, and no one had a single view across all of them.
Meanwhile, a couple of milestones quietly slipped past their target dates and nobody flagged them until the status meeting. By then the rebalancing options were ugly.
The fix is not another status meeting. It is one calendar that shows every milestone across the whole portfolio at once, shades the weeks where too many land together, and shouts when something is already past due - so collisions get spotted weeks early, while you still have cheap options.
What you'll build
A small, login-protected web app for your PMO:
- Import a milestone list from a CSV or Google Sheet - milestone name, project, owner, target date, status.
- Calendar + heatmap view of the whole portfolio, where each week is shaded by how many milestones land in it. The crunch weeks light up.
- Crunch-week flags for any week above the milestone-count threshold you set, and past-due flags for anything still open after its target date.
- A PMO review-and-approve gate: the tool can draft a rebalancing recommendation (move this milestone, this week is overloaded), but a human reviews and approves it before it is shared or acted on.
- A shareable read-only calendar for stakeholders, and a clean CSV export in the exact columns your reporting expects.
What's inside the Implementation Plan
The plan is a single file you paste into Claude Code. It walks the AI through building the whole tool, step by step, each step ending with a ready-to-copy prompt.
The first thing it does is interview you about your business - how your projects name milestones, where the list lives today, what "at risk" actually means at your shop, how many milestones in a week counts as a crunch, and the messy exceptions (shared milestones, parent/child rollups, milestones with no owner). It reads a short tailored spec back to you and waits for your thumbs-up before it builds anything. You get a calendar shaped like your portfolio, not a generic template.
Inside you'll find: the discovery interview, the exact data model, the import-and-dedupe logic, the heatmap and at-risk rules, the approval workflow, the email digest, the shareable view, and a full verification checklist.
The governance it includes (this is the point)
This is an internal tool the PMO will actually rely on, so the governance is built in from the start, not bolted on:
- Login so only your team can open it.
- Row-level security so each organization only ever sees its own milestones.
- A complete audit trail - who imported what, who approved which recommendation, and when.
- A hard human-in-the-loop approval gate before any rebalancing recommendation is shared or acted on - the tool drafts, the PMO approves, and only then does it commit.
- Duplicate guards that dedupe on milestone ID so re-importing the same sheet never doubles your calendar.
Who it's for
PMO leads, program managers, delivery coordinators, and executives who need one honest view of when everything is due across the portfolio - and an early warning when too much lands at once. No coding experience required.
You've got this - paste the first prompt and let the agent interview you.