About This Project
AI-powered sales training that puts reps on a live call with an AI prospect — and coaches them after. CloseCombat is a full-stack B2B SaaS platform I built from scratch. Sales reps practice cold calls, discovery conversations, and objection handling against AI-powered buyer personas that talk back in real time. When the call ends, an AI coach analyzes the transcript and delivers honest, research-backed feedback — scoring rapport, discovery, objection handling, closing, and pacing, then surfacing exactly what went wrong and why.
The Problem
Sales reps only get good at selling by making calls. But most teams have no structured way to practice before they're on the phone with a real prospect. Role-playing with a manager is awkward and rare. Watching recordings is passive. CloseCombat gives reps an infinitely patient AI prospect to practice against — available anytime, available to every rep on the floor.
How It Works
A rep picks a scenario — cold call, discovery, proposal review, re-engagement — selects a difficulty level and buyer persona, and clicks "Call." Within seconds they're in a live voice conversation with an AI customer that has a defined personality, pain points, objections, and budget. The AI can be warm and curious on easy mode, or flat and hostile on nightmare mode.
When the call ends, a full debrief is waiting: a score breakdown, key moments pulled from the transcript, objection-by-objection analysis, and three specific drills to fix the biggest gaps.
Under the Hood
The hardest part of this project was making the voice experience feel real. I built a custom voice pipeline using Pipecat and Daily.co that runs on ephemeral Fly.io machines — one machine per active call, auto-destroyed when the call ends. Each machine runs a full audio processing stack: Deepgram handles speech-to-text with short endpointing windows so chunks arrive fast; a custom TurnAggregator processor buffers those chunks within Silero VAD turn boundaries, then waits for a browser-sent floor signal before flushing — preventing the AI from interrupting the rep mid-sentence; Groq + Llama 4 generates the customer's response in character, fast enough to feel conversational; Cartesia renders the response to audio with emotional tone hints baked in so the voice itself conveys the persona's mood.
To eliminate cold-start latency, a background process keeps three machines pre-warmed at all times. When a rep clicks "Call," the session activates an already-running machine instead of spinning one up — dropping connection time from ~25 seconds to ~2.
The coaching layer is built on Claude Haiku. The debrief prompt is grounded in published sales research — Gong.io's 1M+ call dataset, Rackham's SPIN Selling, the JOLT Effect, Voss's Never Split the Difference — and scores each dimension against specific behavioural benchmarks rather than vibes. The output is structured JSON: scores, quoted transcript moments, objection-by-objection grades, and prioritised action items tied to what actually happened on that specific call.
Platform Features
For Reps
For Teams
Prospect Outreach
Live Assist