Skip to main content
05A US sales engagement platform2025 → 2026V1 shipped at Coditas · V2 independent 2026 concept

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.
Sage AI, Sage AI V2, live workspace, dark-first, AI suggestion mid-call

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 shownWhy I did not
All three at onceEvery 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 objectionsLet 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 scoresShow 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.
Gong, State of Conversation Intelligence
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.

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.

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.

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.

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.

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.

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 todayWhat the design targets
After-call work30 to 90 seconds per call (ICMI).Under 12 seconds.
Summary edit rateAbout 70%, against V1's free-text summary.Under 30%.
CRM completeness60 to 75% is typical.About 98%.
Objections handledTop 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?

Let's design your hardest surface together.

Next case · 06

Settings Console.

142 settings → 8 task-based categories. ⌘K for sub-2s typed intent. WCAG 2.2 AA across every token pair. Approved at Coditas; refined independently in 2026.