Sage AI
Shipped
An AI second-chair for sales reps (live transcript, in-call objection prompts, one-click wrap-up) built so the three never talk at the same time.
Client
A US sales engagement platform
Brief from
The client's product team, via PRD
Team
Solo on AI surface · production engineering team
Users
Sales reps on a parallel dialer (referenced via PRD + existing rep research; no new research run)
Role
Product Designer
Surface
Web · Real-time · AI
Duration
2025 → 2026 · V1 shipped at Coditas · V2 independent 2026 concept
In short
- The brief: add three AI jobs to a live sales dialer (live transcript, mid-call rebuttal prompts, one-click wrap-up summary) without slowing the rep down.
- The core problem was timing: the three jobs live in different moments of a call, so V2 shows only one at a time as the call moves along.
- The rule I designed to: the AI only speaks when it earns the turn. That shaped the fixed objection chips, the 3-bullet ceiling, and the structured summary.
- Status: V1 shipped at Coditas. Nothing here was measured post-launch; the outcome numbers are targets I set against industry benchmarks. V2 is my 2026 concept follow-up.

What it moved
The numbers, in plain sight.
3
AI surfaces, separated by moment
5
Objection chips (fixed set)
2–3
Rebuttal bullets (hard ceiling)
7
CRM fields in the summary schema
The story · 9 chapters
How Sage got built.
rev 00brief
What the PRD asked for.
❝The product is a parallel dialer. Reps load a CRM list, the dialer fires several connections at once, and good closers burn through 100 to 150 prospects a shift.
The PRD was narrow. Add an AI layer that does three things.
Transcribe the call live. Catch an objection and whisper a rebuttal. Produce a summary the rep can paste into the CRM in one click.
Each output had a different audience. The transcript feeds coaches, leaderboards and dashboards. The rebuttal has to read like someone whispering under the noise.
The summary has to map to CRM fields, because the next rep on the account picks up where this one left off.
rev 01decision
Working in wireframes first.
❝Real-time AI inside a dialer is a constraint problem before it is a visual one.
Reps make a call every 30 to 45 seconds. The published benchmark for after-call typing is 30 to 90 seconds a call (ICMI).
So anything I added either gave that time back or stayed invisible.
I worked in low-fi wireframes and built a small pattern library. Where status lives. Where AI lives. Where the rep's eye lands when a call connects.
By the time I opened a high-fi file I had 8 short decision notes covering the non-obvious calls.
Those notes were what engineering and product argued with. Nobody argued with the mockups.
Pull-out · Decision
8 ADRs
One per non-obvious decision
rev 02decision
What I left out.
❝Three things the AI could have put on screen. None of them made it.
| What I could have shown | Why I did not | |
|---|---|---|
| All three at once | Every AI surface visible for the whole call. It demos beautifully, and it is what V1 shipped. | The rep is mid-sentence and three panels want a glance they do not have. V2 shows one at a time. |
| Free-text objections | Let the model name any objection it hears. Closer to what it can actually do, since calls do not sort into five neat buckets. | An unbounded label is not readable while someone is talking. Five fixed chips are recognisable at a glance because there are only five. |
| Confidence scores | Show the model's certainty and its alternate phrasings. Every real-time model hands you these for free. | A hedge costs the rep a decision they have no spare second for. |
One rule sat under all three. The AI speaks only when it has earned the turn.
rev 03build
The transcript.
❝Transcription is the quietest surface and the most important one. The rep barely touches it during the call, by design.
Once it is written, it powers four things: the coaching review queue, the rep leaderboard, the dashboard team's reports and the weekly performance email.
Roughly 70% of recorded sales calls go unreviewed, because there is no fast way to skim one (Gong).
A turn-tagged, searchable transcript turns a 30-minute review into a 90-second skim.
Same data, three audiences, one surface.
Pull-out · Build
70% → reviewable
Calls a coach can grade per week
About 70% of recorded sales calls go unreviewed by managers, a searchable, turn-tagged transcript is the cheapest way to change that.

V1 (shipped), live transcript pinned to a right rail in light mode, turn-tagged so coaches can grade speakers without re-listening to the call.

V2 (2026 concept), same transcript re-skinned in dark-first tokens; the rep barely touches it during a call, but every line feeds the coaching, leaderboard, and dashboard layers.
rev 04build
The live coach.
❝Roughly 35 to 50% of B2B sales calls contain at least one explicit objection. Top reps handle them about twice as often as average reps (Gong, 67k calls).
What decides whether a call survives the first no is not the script. It is whether the rep already has a rebuttal loaded.
So Sage sorts objections into five fixed chips: Price, Timing, Authority, Trust, Competition.
The moment a chip fires, 2 to 3 bullet rebuttals appear. Bullets only. Three short lines is the ceiling for reading while you talk.
The rep glances, picks one, stays in the conversation.
Pull-out · Build
2–3 bullets
Readable while talking

V1, Sage drops 2–3 bullet rebuttals into the assist panel the moment a prospect raises an objection, sized to the readable-while-talking ceiling.

V2, same whisper-coach pattern with an explicit 'Send me an email' objection chip and 1/1 pagination so the rep can flip rebuttals without losing the conversation.
rev 05build
The wrap-up.
❝After-call work is the cheapest minute to attack. 30 to 90 seconds of typing across 100 calls is 50 to 150 minutes a rep never gets back.
About 30% of CRM records go stale within a year (Validity). Reps skip fields, or paste prose into a notes box nobody reads.
So V2 replaced V1's free-text summary with a fixed schema.
Disposition, Key Needs, Pain Points, Decision-Maker, Next Step, Note to Next Rep, Follow-Up Date.
Every chunk maps to one CRM field. One click copies it into Salesforce, HubSpot or Outreach.
A two-stage save stops a rep leaving without a disposition. That one change is what moves CRM completeness from the typical 60 to 75% toward 98%.
Pull-out · Build
≤ 12s ACW
Down from a 30–90s benchmark

V1, wrap mode auto-loads a free-text call summary and a 'Copy to Call Notes' action; the rep still picks a disposition before the next dial fires.

V2, structured summary schema (Key Needs · Budget · Rep Action · Note to Next Rep) that maps 1:1 to CRM fields, replacing prose with paste-ready blocks.
rev 06reflection
V2, a year later.
❝V2 is my own follow-up concept, built after I left Coditas in early 2025. It did not ship.
It exists to fix the one thing V1 got wrong at a system level. Timing.
Transcription, objection handling and summary are all AI surfaces, but they live in different moments of a call. Ambient, instant reaction, after hang-up.
V1 put all three in one panel that was always on.
V2 separates them by mode. The pane changes as the call moves, so only one of the three ever wants the rep's attention.
Mode-switching prototype, the AI pane transitions between transcription, objection handling, and call summary as the call lifecycle moves, so only one surface is ever competing for the rep's attention.
rev 07outcome
What the design is aimed at.
❝These are targets, not measurements. Nothing here was measured after launch.
| The benchmark today | What the design targets | |
|---|---|---|
| After-call work | 30 to 90 seconds per call (ICMI). | Under 12 seconds. |
| Summary edit rate | About 70%, against V1's free-text summary. | Under 30%. |
| CRM completeness | 60 to 75% is typical. | About 98%. |
| Objections handled | Top reps manage roughly twice the average rep's rate. | A 10-point lift for the average rep. |
For the rep, that is less typing and fewer interruptions.
For the coach, every call becomes tape you can search, grade and query in plain English.
rev 08reflection
Designing what to hide.
❝The hard calls were not about what to render. They were about what to suppress.
Real-time AI hands you confidence scores, alternate phrasings, model reasoning. Each one is a good demo and a millisecond of load on a rep mid-sentence.
The rule I kept coming back to: the AI speaks only when it has earned the turn.
That shaped the chip set, the bullet ceiling, the summary schema and the two-stage save.
The cleaner the surface, the more the rep trusts the second chair.
No rep ever tested it.
05. CASSI AI shipped at Coditas: three AI jobs (live transcript, mid-call rebuttals, one-click summary) made to feel like one quiet workspace. V2 is the 2026 dark-first concept follow-up.
Want this kind of work on your team?