Voxalytics
Call intelligence for sales and support teams: transcripts, AI scorecards and coaching from every recorded call.
- A
- Grade on the example call
- 93
- Score of 100
- 11
- Analysis tabs per call
What they came with
Most sales and support teams record every call and listen to almost none of them. A QA lead samples a handful a week, marks them against a rubric in a spreadsheet, and the coaching arrives days after the conversation it refers to. Everything else sits in the telephony system as audio nobody can search, so the objection that keeps killing deals is only ever heard by the rep who took the call. Voxalytics transcribes every recorded call, separates the speakers, scores it against the rubric and makes it searchable as soon as it ends.
What the engagement covered
- Automatic transcription with speaker separation and timestamps
- AI scorecard across opening, discovery, pitch, scheduling and closing
- Buyer intent, churn risk and sentiment surfaced on every call
- Speaker-separated transcript with timestamps and auto-scroll
- Summary, sentiment, compliance and revenue views on the same call
- Audio playback synced to the transcript at any speed
Technical detail
Ingest is a queue, not a request
Recordings arrive from telephony webhooks and scheduled pulls, and each one becomes a job row keyed by the provider's call id. A replayed delivery matches the existing key and is dropped, so a retrying webhook cannot produce a second transcript or a second analysis bill.
The diarised transcript is the index
Deepgram returns word-level timings and speaker turns, stored as turn rows against the call rather than one blob of text. Search runs on a Postgres full-text index over those rows, so a hit comes back as a timestamp the player can seek to instead of a file to sit through.
Scores carry a rubric version
The QA rubric is versioned criteria rows covering opening, discovery, pitch, scheduling and closing, and each score is written per criterion with the transcript span quoted as its evidence. The rubric version and model are stamped on every result, so changing the prompt grades new calls without silently rewriting old ones.
One bad model response fails one stage
Analysis output is parsed against a schema before anything is stored, and a malformed response fails only that stage. The transcript stays, the call stays visible with the analysis marked incomplete, and the stage retries on a delay queue rather than holding up everything ingested behind it.
The stack
Speech and language
Backend
Ingest, jobs and storage
Interface
- Sector
- Conversation analytics
- Audience
- Sales and support teams
- Shape
- Built, shipped and run by us
- Stack
- FastAPI, Deepgram, OpenAI
Something like this to build?
Tell us what runs today and where it hurts. An engineer reads it and replies.


