How I'd build Discovery Call AI
I'd reach for Next.js on the frontend with FastAPI in the backend, Postgres for the data layer, Twilio for call recording infrastructure, and Claude's API for the actual summarization engine. I'd integrate with Stripe for billing across the three tiers and Resend for transactional email. Rough estimate: 380-420 hours across 10 weeks, assuming focused execution and no scope creep.
Day-by-day plan
- Day 1-2: Provision Postgres schema (users, teams, calls, summaries), set up multi-tenant isolation rules, and deploy auth with JWT tokens via FastAPI
- Day 2-3: Wire Stripe billing endpoints for the three pricing tiers (seat-based, team plan, enterprise), sync subscription status to Postgres
- Day 3-4: Build the customer onboarding flow (email verification, team creation, Stripe setup), create the dashboard home page
- Day 4-5: Integrate Twilio for inbound call recording, build the recording upload endpoint, store metadata in Postgres
- Day 5-6: Create the summary pipeline: receive a call, POST to Claude API, store summary and extracted action items, handle token limits and streaming
- Day 6-7: Build the summary viewer UI (call details, transcript, AI-generated summary, action items, full-text search)
- Day 7-8: Implement user invitation flow for team members, role-based access control (owner, editor, viewer)
- Day 8-9: Build the billing dashboard (upgrade, downgrade, usage metrics, payment history), wire up seat counting logic
- Day 9-10: Security audit (SQL injection, CSRF, multi-tenant isolation verification), add rate limiting, deploy monitoring with Sentry
What's hard about this build
The core complexity is multi-tenant isolation. You can't have leakage where one customer sees another's calls. Postgres row-level security helps, but you need tests that actually verify isolation across teams. Second is the call recording consent issue. California, Florida, and Illinois all have two-party consent laws, and the brief correctly flags this as a liability killer if you get it wrong. You need explicit consent in the onboarding flow, documentation to back it up, and clear terms that the legal risk sits with the customer, not you. Third is Claude's token costs at scale. A 30-minute call with transcript runs 10k-15k tokens. If you close 4-6 accounts monthly and each customer runs 20-30 calls, your API bill grows fast. You need cost tracking and maybe per-customer token budgets from day one.
What's fast because of AI
AI compresses the scaffold phase. Instead of hand-coding the Postgres schema, auth endpoints, and Stripe webhook handlers, Claude generates the FastAPI boilerplate and migrations, then I review and refine. Cuts that phase in half. For the summary pipeline, Claude forces you to enumerate edge cases upfront: two-minute calls, three-hour calls, silent stretches, corrupted uploads. That thinking happens in code before bugs reach customers. For the UI, Claude helps with the extraction prompts themselves (how do you ask an LLM to pull action items reliably), and for debugging, I describe a weird Stripe or Twilio issue and Claude helps me trace it. Testing compresses too. Claude generates test cases for billing and consent flows, so I'm not hand-writing ten scenarios.
How I'd hand it off
I'd create a 15-minute Loom walkthrough covering the dashboard, onboarding, summary generation, and billing flows. The runbook lives in the repo: setup steps, environment variables, Postgres migrations, how to test Stripe sandbox, and the exact checks to verify multi-tenant isolation. For the first 30 days, I'm on pager duty - if a customer hits a bug or a webhook breaks, I diagnose it. I'd transfer Stripe, Twilio, and Claude API keys to your AWS Secrets Manager and hand over the credentials. Custom code gets documented in comments so whoever comes after can pick it up from the Loom and runbook within a day.