How I'd build Meeting Notes AI
I'd reach for Next.js on the frontend, FastAPI on the backend, Postgres for the datastore, and Deepgram for transcription. I'd integrate the Claude API for summaries and action items, Stripe for billing, and Clerk for auth. A solid MVP would take roughly 240-280 hours at the pace I work, so plan on four to five weeks at full capacity. The primary complexity isn't the core feature - it's managing three separate platform integrations (Zoom, Google Meet, Teams) and keeping billing state sane as users add team members.
Day-by-day plan
- Days 1-2: Set up Clerk multi-tenant auth, Postgres schema (users, teams, billing_subscriptions, meetings, summaries). Deploy Next.js frontend to Vercel and FastAPI backend to Railway.
- Day 3: Integrate Stripe billing logic - three tiers, trial logic, billing portal. Wire Stripe webhooks for subscription state.
- Days 4-5: Build the Zoom OAuth flow, webhook ingestion for meeting_ended event, and trigger transcription pipeline to Deepgram.
- Day 6: Integrate Google Meet via Google Calendar API for meeting detection; build the async fetch-and-process loop.
- Day 7: Integrate Teams webhook via Graph API; handle Teams meeting detection similarly.
- Day 8: Wire Claude API calls for summary and action-item extraction; add LLM prompt versioning so I can iterate summaries without redeployment.
- Days 9-10: Build the dashboard UI - meeting list, summary view, sharing and export (PDF/email via Resend), team-member management.
- Days 11-12: Test the full flow end-to-end with real meetings; add Sentry for error tracking; run load test on transcription ingestion.
- Days 13-14: Write a runbook, spin up monitoring dashboards, deploy to production with subdomain routing for each platform.
What's hard about this build
The three platform integrations have asymmetric reliability. Zoom's webhook delivery is solid, but Google Meet has no native webhook - I'd have to poll Google Calendar every two minutes, which is racey and adds latency. Teams webhooks are reliable but the Graph API is slower to respond than Zoom's. You'll need fallback logic if a webhook fails silently and the meeting transcript never arrives. Billing state can get out of sync if a Stripe event doesn't retry correctly; I'd implement idempotency keys and a daily reconciliation job to catch drift. There's also the thorny question of compliance - if users record meetings with PII, you're storing that transcript. I'd need a legal review and a data retention policy. Finally, API deprecation is a real risk - Zoom changed their webhook format twice in the last three years. I'd version the integration code and keep a test environment that mirrors the live API schema.
What's fast because of AI
Claude compresses the summary generation from days of prompt-tuning into a few hours. I'd hand Claude the raw transcript plus a prompt template and iterate on hallucination-prone edge cases with test fixtures. AI also accelerates scaffolding - I'd use Claude to generate the Postgres migrations, the Stripe webhook handlers, and the three platform OAuth flows, then spot-check for security. Testing would normally take a week; I'd use Claude to enumerate edge cases (What if a user cancels mid-meeting. What if the same meeting is recorded on two platforms. What if billing fails silently), then generate test coverage. Finally, copywriting for the UI - pricing page, onboarding copy, error messages - usually eats a week. Claude handles that in an afternoon. I iterate the tone, not the bare words.
How I'd hand it off
I'd record a Loom walkthrough of the entire onboarding flow and a separate runbook covering deployment, monitoring dashboards, and how to respond to Deepgram outages or API failures. I'd transfer all credentials (Clerk, Stripe, Deepgram, Claude API keys, Zoom/Google/Teams OAuth apps) to a shared 1Password vault. If you hire ops support, I'd run a three-day pager rotation with you or them on call so you see real-world failures before I hand off completely. The Linear board stays open for any bugs found in the first month. Code is in a private GitHub org with CI/CD pipelines already wired; you're ready to ship hotfixes immediately.