We needed Gong-style data. We didn't want to pay $30k/year for it.
So I built a conversation intelligence platform from scratch: Fathom transcripts in, coaching signals out, the full team using it within a week.
The sales team couldn't learn from each other's calls
Shipday's sales team was growing, but there was no system for sharing what worked. Call recordings sat in Fathom, unwatched. New reps had no way to hear how the top closers handled objections, ran discovery, or positioned against competitors. Managers ran 1:1s based on gut feel instead of data.
Gong would solve this, but it's $30k+/year and takes months to implement. The team needed something now, built for their specific workflow, their deal stages, their segments.
The core question: “What are our top closers actually saying and doing differently on calls that win big deals?”
Four-stage pipeline: Ingest, Extract, Analyze, Present
Ingest
Fathom webhooks fire when a call transcript is ready. n8n picks it up, normalizes the speaker labels and timestamps, and writes it to PostgreSQL. Salesforce deal data comes in via a weekly Cowork browser scrape: no API credentials available, so we built our own.
Extract
Claude Sonnet analyzes each transcript and extracts structured coaching signals: objection handling, discovery questions, pricing discussions, competitive mentions, next-step commitments. Every signal is tagged with the exact transcript moment so reps can jump to that part of the call.
Analyze
MRR-weighted aggregation surfaces what wins big deals. A pattern that appears on a $159/mo deal gets less weight than one on a $2,000/mo enterprise close. PostgreSQL aggregate queries compute win rates by technique, rep, segment, and deal size.
Present
A branded dashboard the full team can access from day one. Call library with searchable transcripts, coaching insights, team leaderboards, pattern analysis, pipeline risk alerts, and trend tracking over time.
What the team sees
Call Library
Every call with full transcript, AI-extracted signals, deal context, and coaching moments. Searchable and filterable by rep, outcome, segment, and deal size.
Insights & Patterns
What do top closers say? MRR-weighted pattern analysis shows which discovery questions, objection responses, and closing techniques correlate with won deals. Broken down by segment (restaurant, grocery, pharmacy).
Team Performance
Rep-by-rep coaching view. Talk-to-listen ratios, discovery depth, objection handling quality, next-step commitment rates. It's a coaching tool for 1:1s, not a leaderboard for public shaming.
Pipeline Risk Alerts
Flags deals where the conversation signals don't match the stage. A deal marked 'Negotiation' but with no pricing discussion on the last call? That's a risk. Surfaces these automatically so managers can intervene early.
Trend Analysis
How are coaching signals trending over time? Are reps improving on discovery? Is a new competitor showing up in more calls? Longitudinal view across weeks and months.
Four problems that shaped the architecture
No Salesforce API access, permanently
Shipday didn't have API credentials available and wasn't going to get them. Instead of waiting, I built a Cowork browser scrape that pulls the 'Team Overview' report from Salesforce weekly. n8n ingests the output and upserts to PostgreSQL. It isn't elegant, but it works reliably and the team never has to touch it.
Matching calls to deals without native integration
Fathom and Salesforce don't talk to each other. The Fathom webhook provides attendee emails for each call. The Salesforce scrape provides contact emails per Opportunity. The system matches by email overlap. When multiple deals match, it picks the most recently active one. Unmatched calls get flagged for manual review in the dashboard.
Making coaching signals actionable, not just interesting
Early extraction produced signals like 'discussed pricing.' That's a transcript label, not coaching. I rewrote the Claude prompts to extract the specific technique: what question was asked, how the objection was handled, what the prospect's reaction was. Each signal links to the exact timestamp so a manager can listen to the 30-second moment, not re-watch a 45-minute call.
MRR-weighted analysis instead of raw counts
A pattern that shows up in ten $159/mo wins is less meaningful than one that appears in three $2,000/mo enterprise closes. All pattern analysis is MRR-weighted by default. The system answers 'what wins big deals' not just 'what happens often.'
Built for a team that doesn't have engineering support
The system runs autonomously. Fathom webhooks trigger transcript ingestion via n8n. Weekly Salesforce scrapes keep deal data current. Claude extracts coaching signals on every new call. The dashboard is always up to date without anyone touching it.
No Kubernetes, no microservices, no over-engineering. A single Next.js app on a DigitalOcean droplet with PM2 and Caddy. PostgreSQL for storage. n8n for orchestration. The whole thing costs less per month than a single Gong seat.
Full Stack
Why not just buy Gong?
Cost was the obvious reason: $30k+/year for a team this size is hard to justify. But the real reason was speed and specificity. Gong is a general-purpose platform that takes months to configure. Win-Call Brain was built for Shipday's exact deal stages, segments (restaurant, grocery, pharmacy), and coaching priorities.
The MRR-weighted analysis answers Shipday's specific question: what wins enterprise restaurant deals vs. standard pharmacy deals? Gong can't answer that out of the box. This system was answering it within a week of the first transcript.
Need conversation intelligence without the enterprise price tag?
Let's Talk