Before the call
It decides: solve, or sell
While the customer is still in the phone menu, the engine reads their record, scores how likely they are to welcome an offer, and checks four guardrails. The agent receives a decision, not a guess.
Open source · MIT · runs offline on one laptop
Growth Engine is a working prototype that decides, on every contact, whether to solve or to sell. It reads what is already known about the customer before the agent says hello, holds back when it should, and turns a support call into a qualified lead when there is a real one in it.
The company in the demo is fictional. Traffic is simulated, and says so.
How it works
Before the call
While the customer is still in the phone menu, the engine reads their record, scores how likely they are to welcome an offer, and checks four guardrails. The agent receives a decision, not a guess.
During the call
It hears the buying signals in the conversation and suggests what to say next — with the knowledge articles the suggestion rests on. If the customer raises a complaint, it stands down.
After the call
The outcome is written to the customer's record, so tomorrow's decision reflects today's call. Outcomes train a new version of the model, which a person approves before it is used.
Try the engine
Nothing here is a lookup table of answers written by hand. Each result was computed by the engine from the customer's profile and exported to this page — nine customers, sixty-three combinations of circumstances each.
What we already knew
Longer bars counted for more. Green pushed towards an offer, red away from it.
Safety checks — any one turns sell into solve
What happens next
What if…
One simulated day
The line that separates solve from sell is a business decision, not a technical one. Move it, and the engine re-decides the whole day.
Where to draw the line
During the call
Three conversations from the demo, replayed. The score, the signals and the advice are the engine's analysis at each turn.
Buying signals heard
What to say next
For agents
Training mode turns the engine round. It plays the customer — out loud, in their own voice — and a human agent takes the call. The customer answers back, pushes back and notices silence. At the end, the agent gets the score a live call would get, with the evidence, and one thing to work on.
Answer, and talk
The customer waits for you to speak first, then tells you why they called. You reply out loud; the microphone sends what you said when you pause. Everything the live desktop shows runs behind it.
The customer reacts
Ask a question and they answer it. Ask them to hold and they wait. Stall and they get shorter with you. Sell into a complaint and they get angry. Leave them in silence and — on the harder settings — they hang up.
Read the debrief
A quality score with the turn and the words that earned each mark, a checklist of what the call needed, how the customer felt from start to finish, and the scripted call to compare against.
Nine customers, nine lessons
What the debrief says
The quality agent cites the turn and the words that satisfied each criterion — the same rubric that scores live calls. An agent can argue with an opinion. It is harder to argue with the transcript.
The same customer at three settings: cooperative, one hard question before agreeing, two objections and a short fuse. Best scores are kept, so progress is visible.
The advice the live desktop shows is hidden behind a Hint button. Use it when stuck — but the debrief says how many times, so the habit of doing without it forms.
It is the real agent desktop with the real engine behind it. The signals, the score and the guardrails an agent learns to read here are the ones they will see on a live contact.
Two of the nine customers must not be sold to. An agent who pitches to them hears the reaction, sees the compliance breach, and learns why the engine held back.
No real customer, no supervisor needed, no recording. Every call is scored, where manual quality review covers two or three calls per agent a month.
Restraint
Four rules are checked on every contact. They are code, not a model — no amount of training data can teach the engine to sell into a complaint.
The feedback loop
On a day neither model has seen
What the new version learned to weigh differently
A model that reweights itself after every call cannot be audited or rolled back. Here a new version is trained, judged on unseen traffic, and promoted by a person.
Two percent of contacts below the line are routed anyway. Without that, the model only ever sees outcomes for the contacts it already liked.
Whether to sell to a customer with an unresolved complaint is not the model's decision to make, so it is never given the chance.
Under the hood
The engine never names the platform that holds the customer's record. It asks for six operations, and which system answers is one environment variable.
Audiences are defined once, and rendered three ways
What this does not prove
The fit
Seventeen building blocks, from the phone menu to the customer's record. Select any one to read what is real in the prototype and what is a stand-in, or follow a single contact through all of it.
Coverage
Read this first
A prototype earns trust by saying where it stops. Everything in the application is labelled the same way as this list.
The application
Plain language, one focus per screen, and a guided tour in twelve steps that a presenter can run with the notes hidden.
Run it
Brand packs
The demo company is fictional. A private file that git ignores maps each placeholder to the name you want on screen. Try it:
Move from one individual licence to three Studio Cloud for teams licences.