SprintMood - Passive Team Energy Heatmap From Calendar and Commit Patterns
Your team is burning out and you have no signal until someone quits. SprintMood analyzes Google Calendar meeting density and GitHub commit timestamps — no surveys, no check-ins — and generates a weekly energy heatmap showing who is overloaded before it becomes a retention problem.
Difficulty
intermediate
Category
Analytics
Market Demand
High
Revenue Score
7/10
Platform
Web App
Vibe Code Friendly
No
Hackathon Score
🏆 7/10
What is it?
Engineering managers at startups have zero passive signals for team health between 1:1s. SprintMood connects to Google Calendar via OAuth and GitHub via personal access tokens, counts meeting hours and after-hours commit timestamps per person per week, normalizes against each person's own baseline, and renders a heatmap with anomaly flags. No surveys, no forms, no trust issues — just behavioral data people already produce. The weekly digest email goes to the manager with actionable callouts like 'Ana had 4 consecutive 9pm commits this week.' Buildable in 2 weeks — Google Calendar API, GitHub REST API, and Resend are all stable and well-documented.
Why now?
Remote-first startup burnout peaked post-2024 layoff cycles, and engineering managers on Hacker News are actively asking for passive team health signals — no good tool exists yet at the indie price point.
- ▸Passive calendar + commit data ingestion with no manual input from team members.
- ▸Weekly energy heatmap per person normalized against their own baseline.
- ▸Anomaly alert email when anyone exceeds their 3-week average by 40%.
- ▸Manager dashboard with team-level and individual trend lines over 90 days.
Target Audience
Engineering managers and CTOs at 5–50 person startups, roughly 60k in this tier actively worried about retention in the current remote-work era.
Example Use Case
Derek, an engineering manager at a 20-person startup, sees on Monday morning that two engineers had back-to-back 10pm commits for 8 days straight, schedules a 1:1 proactively, and prevents a burnout-induced resignation.
User Stories
- ▸As an engineering manager, I want to see who had the most after-hours commits this week, so that I can proactively schedule a check-in before burnout hits.
- ▸As a CTO, I want a Monday morning digest of my team energy scores, so that I can start the week with the right context without running more meetings.
- ▸As a team member, I want to know what data my manager sees about me, so that I can trust the tool is not being used punitively.
Done When
- ✓Heatmap: done when manager sees a 7-day energy grid per team member populated from real calendar and commit data without manual input
- ✓Anomaly alert: done when manager receives an email naming the specific person and the exact anomaly within 24 hours of threshold breach
- ✓Google connect: done when OAuth flow completes and calendar events appear in sync log within 60 seconds
- ✓Stripe upgrade: done when checkout completes and team member limit increases from 1 to 10 immediately.
Is it worth building?
$49/month per team (up to 10 seats) x 40 teams = $1,960 MRR at month 3. $99/month x 100 teams = $9,900 MRR at month 8.
Unit Economics
CAC: $30 via LinkedIn DM outreach. LTV: $588 (12 months at $49/month). Payback: 1 month. Gross margin: 90%.
Business Model
SaaS subscription per seat
Monetization Path
Free: 1 team member tracked for 30 days. Paid $49/month: up to 10 team members, weekly digest, anomaly alerts.
Revenue Timeline
First dollar: week 4. $1k MRR: month 3. $5k MRR: month 9.
Estimated Monthly Cost
Vercel: $20, Supabase: $25, Resend: $10, Stripe fees: $20. Total: ~$75/month.
Profit Potential
Full-time viable at $5k–$10k MRR.
Scalability
High — add Slack activity signals, Linear ticket velocity, and HR system export.
Success Metrics
Week 2: 30 manager signups. Month 1: 10 paid teams. Month 3: 75% retention with NPS above 40.
Launch & Validation Plan
Post in r/ExperiencedDevs asking how managers track team health passively, DM 15 CTOs on LinkedIn offering free beta, validate with 3 paying teams before full build.
Customer Acquisition Strategy
First customer: DM 20 engineering managers in CTO communities on Slack and LinkedIn offering 60-day free access for a 20-minute feedback call. Ongoing: r/ExperiencedDevs, Hacker News Show HN, manager-focused LinkedIn content, ProductHunt.
What's the competition?
Competition Level
Low
Similar Products
Lattice requires manual surveys. Jellyfish tracks engineering metrics but not wellbeing. Neither produces a passive energy heatmap from calendar and commit data.
Competitive Advantage
No manual surveys required — purely passive behavioral signals from tools teams already use.
Regulatory Risks
GDPR risk: employee behavioral monitoring requires explicit consent and data processing agreements in EU jurisdictions. Scope tool to manager-opt-in only and publish clear data policy.
What's the roadmap?
Feature Roadmap
V1 (launch): calendar + commit heatmap, anomaly alerts, weekly digest, Stripe billing. V2 (month 2-3): 90-day trend lines, team comparison view, Slack alert option. V3 (month 4+): Linear velocity overlay, individual self-view, HR export.
Milestone Plan
Phase 1 (Week 1-2): data pipeline and heatmap render ship with real data. Phase 2 (Week 3-4): Stripe and weekly digest live, 5 paying teams. Phase 3 (Month 2): ProductHunt launch, 20 paying teams.
How do you build it?
Tech Stack
Next.js, Google Calendar API, GitHub REST API, Supabase, Resend, Stripe — build with Cursor for data pipeline, v0 for heatmap UI.
Suggested Frameworks
Next.js, Recharts, Supabase
Time to Ship
2 weeks
Required Skills
Google OAuth, GitHub API, Recharts heatmap, cron jobs.
Resources
Google Calendar API docs, GitHub REST API docs, Recharts heatmap examples, Supabase cron.
MVP Scope
app/page.tsx (landing), app/dashboard/page.tsx (heatmap + team list), app/api/connect/google/route.ts (Calendar OAuth), app/api/connect/github/route.ts (PAT setup), app/api/sync/route.ts (cron data pull), lib/calendar.ts (meeting hour counter), lib/github.ts (commit timestamp parser), lib/db/schema.ts, components/EnergyHeatmap.tsx, .env.example.
Core User Journey
Connect Google Calendar -> connect GitHub org -> see first heatmap after 7 days of data -> receive Monday digest email -> upgrade to paid.
Architecture Pattern
Manager connects Google Calendar + GitHub -> cron job runs nightly -> calendar hours and commit timestamps normalized per user -> anomaly scores computed -> results stored in Supabase -> weekly Resend digest sent Monday 8am.
Data Model
Manager has many Teams. Team has many Members. Member has many WeeklySnapshots. WeeklySnapshot has one EnergyScore and one AnomalyFlag.
Integration Points
Google Calendar API for meeting data, GitHub REST API for commit timestamps, Supabase for storage and cron, Resend for weekly digest, Stripe for billing.
V1 Scope Boundaries
V1 excludes: Slack signal ingestion, Linear/Jira velocity, individual self-view dashboards, mobile app, HR system export.
Success Definition
An engineering manager the founder never contacted signs up, connects their team, receives the first weekly digest, and renews after month one without any support contact.
Challenges
Privacy perception is the hardest non-technical problem — managers must communicate what data is collected or the tool creates distrust and gets removed on week 2.
Avoid These Pitfalls
Do not show individual data to non-managers — this kills trust and gets the tool banned. Do not try to process Slack messages in v1 — consent complexity will stall the launch. Getting first 10 paying manager customers takes 3x longer than building — start LinkedIn outreach on day 1.
Security Requirements
Supabase Auth with Google OAuth, RLS on all team tables scoped to manager only, GitHub PATs stored encrypted via Supabase Vault, rate limit sync to 5 calls/minute per org, GDPR data deletion endpoint required.
Infrastructure Plan
Vercel for Next.js, Supabase for Postgres and cron, GitHub Actions for CI, Sentry for error tracking, dev/staging/prod via Vercel environments.
Performance Targets
80 DAU and 600 req/day at launch, sync cron completes under 30 seconds per team, dashboard load under 2s, heatmap renders under 500ms.
Go-Live Checklist
- ☐Security audit complete
- ☐Payment flow tested end-to-end
- ☐Sentry live
- ☐Monitoring configured
- ☐Custom domain with SSL
- ☐Privacy policy with data processing section published
- ☐5 beta managers signed off
- ☐Rollback plan documented
- ☐ProductHunt draft ready.
First Run Experience
On first run: a seeded demo team of 5 members with 4 weeks of fake energy scores is pre-loaded showing one anomaly flag. User can immediately explore the heatmap and click on an anomaly to see details. No manual config required: demo data from seed.ts loads instantly, no Google or GitHub connection needed to explore.
How to build it, step by step
1. Define schema in lib/db/schema.ts: Manager, Team, Member, WeeklySnapshot, AnomalyFlag tables. 2. Scaffold Next.js app with Supabase Auth and Google OAuth. 3. Build lib/calendar.ts fetching weekly meeting hours per member from Google Calendar API. 4. Build lib/github.ts parsing commit timestamps per member from GitHub REST API. 5. Create app/api/sync/route.ts as nightly cron computing normalized energy scores and anomaly flags. 6. Build components/EnergyHeatmap.tsx using Recharts calendar heatmap. 7. Create app/dashboard/page.tsx rendering team heatmap and individual trend lines. 8. Wire Stripe checkout gating teams beyond 1 member. 9. Set up Resend weekly digest email with anomaly callouts sent every Monday at 8am. 10. Verify: connect a real Google Calendar and GitHub org, wait for sync, confirm heatmap renders with accurate data, receive test digest email, complete Stripe checkout.
Generated
April 18, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.