All work

MLQU 003 · Live

PitchMe

Sales reps record a pitch, battle head to head, and a model scores it.

Client
PitchMe
Year
2025
Status
Live
Our role
Product engineering, with the client team
Next.jsFlutterSupabaseOpenAIStripe

The problem

Sales people get better when someone critiques a real pitch. That feedback is expensive and it does not scale past a handful of reps, so most training is a video course nobody finishes.

How it’s built

  1. Two clients

    A Next.js web app and a Flutter mobile app share one Supabase backend, so a rep can record on a phone and review on a laptop.

  2. Edge functions

    Twenty of them carry the asynchronous work: pitch scoring, meeting transcription, analytics, calendar and Recall.ai webhooks, and push notifications.

  3. Live video

    Agora handles real-time battles. Recordings are moved out of GCP into Supabase storage once the session ends.

  4. Billing

    Stripe subscriptions, with tiering across business verticals and experience levels.

What changed

  • Shipped as a live product on both web and mobile
  • Scoring runs asynchronously, so a slow model never blocks the interface
  • Video, transcription and scoring sit behind one backend rather than three integrations

Want one of these?

Two lines is enough. We reply within a day.