Drawing no. QP-CS-02 / Case study - Voice AI for B2B sales

Voice Sales Assistant

QPOI built a voice-first AI assistant for a wholesale distribution software provider, letting field sales reps ask questions about their accounts and get spoken answers grounded in live sales data.

Client
Confidential
Sector
Distribution
Platform
Web PWA + voice
Stack
React + NestJS
Engagement
Full product build
Status
In pilot
Fig. 1 - Question-to-answer pipeline, as built
SPOKEN QUESTIONINTENT + SCOPEclassify, permission-pinGOVERNED QUERIESserver-written SQL onlySPOKEN ANSWERfigures trace to sourceVALIDATION GATE: A FIGURE THAT CANNOT BE TRACED IS NOT SPOKEN
1.0

The challenge

The client's platform already computes account-level sales insights for wholesale distributors: which accounts are declining, where margin sits against peer benchmarks, what a customer has stopped buying. Getting value out of them meant reading dashboards, and the people who need them most are field reps who spend the day driving between customer visits.

They wanted reps to be able to just ask: a conversational assistant that answers questions about any account in a rep's patch, hands-free, from live data. And because the answers get repeated in front of customers, a wrong figure is worse than no figure. The assistant had to be built so it cannot invent a number.

QPOI's role
  • Architecture proposal and technical discovery
  • Voice and chat interface end to end
  • Grounded answer pipeline over live data
  • Secure deployment to client infrastructure
2.0

Core features

2.1
Real-time voice

Speech-to-speech conversation with barge-in: the rep can talk over an answer or tell it to stop, like a real conversation. A typed chat interface shares the same pipeline.

2.2
Governed queries, not generated SQL

The model never writes SQL. It selects from a set of approved, parameterised query tools, and the server owns every query that touches the database.

2.3
Grounded answers

Every figure, date and name in an answer must trace back to data that was actually served. A validation layer checks each generated answer, with a deterministic fallback so a correct answer goes out even when the phrasing fails the check.

2.4
Permission-scoped data

Each rep sees only their own accounts. Scope is pinned server-side per session, and restricted fields are stripped before anything reaches the model or a cache.

3.0

Engineering fundamentals

3.1
Measured, not assumed

Answer latency and database throughput measured against live data, with typical answers in under three seconds and headroom quantified before deployment.

3.2
Evaluated on the real model

An offline suite of golden cases runs with no API key, and a live evaluation replays the full approved question set against the real model to catch what fixtures cannot.

3.3
Production deployment

A hardened Docker image served over HTTPS, sign-in against the client's existing user store, and observability down to per-stage timings and full transcripts.

4.0

Outcome

Deployed to the client's infrastructure, answering from their live database

Every question in the client's signed-off scope answers against real data

Voice and text share one grounded pipeline, so a spoken figure is as trustworthy as a written one

Backed by over 700 automated tests plus a live-model evaluation suite

Sheet 2 / Engineering detail
How it works, in detail

The pipeline stage by stage, the measurement methodology, and the faults the process caught before users could.

Read the engineering notes →
Bill of materials / Technology
TypeScriptReact (Vite)NestJSOpenAI Realtime APISQL ServerWebRTCDockernginx