Data & AI2026

AI Sales Coaching

Calls transcribe as they finish, are scrubbed of personal data, get scored against a fixed coaching rubric by an LLM, and come back to the rep as specific feedback within minutes. Scores and summaries write back to Salesforce.

FastAPICeleryLangChainpgvectorReact 19
Visit the live site (opens in a new tab)

The challenge

What we set out to solve

Manual review reached under a tenth of calls, so coaching depended on which calls a manager happened to listen to. Reviewing the rest by hand is not a staffing problem, it is arithmetic. The client also operates under GDPR and the Dutch AVG, where sending a raw call transcript to a US-hosted model is a legal question before it is a technical one.

Our approach

How we thought about it

A Celery pipeline behind a FastAPI ingest endpoint, in five stages: transcribe, redact, score, notify, sync. Redaction sits before scoring on purpose: personal data never reaches the model at all, rather than being deleted afterwards. Scoring goes through LangChain, which is what makes the model provider a decision the client can take after their own sovereignty review instead of one baked into the code.

What we built

The solution

Every call is scored against the same rubric within minutes of hanging up, and the coaching note is written for that rep and that call. The dashboard is Dutch by default and English per user. Provider, region and retention are configuration, not a rewrite, which is what a DPIA needs them to be.

Illustration of Northwind Scores, a system of this kind built by ProbahiCraft, using sample data.

The kind of system behind work like this. Sample data, not Sons Real Estate's.