Inspiration
A junior real estate agent gets a day of onboarding, a copy of the agency playbook, and then they're on the phone to a homeowner.
The first time someone says "your commission is too high," they panic and discount it.
Or the homeowner says "we're not interested" and they keep pushing, because most sales tools treat booking the appointment as the only way to win.
But nobody really practises that moment.
Role-play with a principal is awkward, infrequent, and expensive in manager time. So agents end up learning on real listings, where mistakes cost real commission.
Australia has 45,909 real estate businesses, including 4,843 with 5–19 staff and 1,085 of those in Victoria (ABS, June 2025). Macquarie reports that 55% already invest in tools and training.
The behaviour already exists. Agencies already coach — through playbooks, ride-alongs, and training budgets. What they don't have is a way to practise the exact moment an agent keeps losing, on demand, without burning a principal's afternoon or a live listing.
That existing capability is sales coaching. We wanted to improve it with AI: find the weak spot, drill it in a live spoken role-play, and score the attempt against this agency's approved talk-tracks.
We wanted to give sales agents what a boxer has between rounds:
Someone in your corner who spots what keeps going wrong, then makes you drill it before it counts.
That's Cornerman.
What it does
Cornerman improves an existing business capability: how agencies coach agents on hard conversations.
Today that usually means a principal on a ride-along, a static playbook, or generic training that treats every agent the same. It works — but it's slow, expensive in manager time, and hard to repeat for the specific objection that is costing listings.
Cornerman keeps that coaching job, and makes it targeted, always-on, and measurable with AI:
Diagnose → Learn → Practise → Reflect → Improve
The AI does three things a busy principal cannot do for every agent, every week: find the recurring weak spot, play the difficult seller live, and score the attempt against the firm's own playbook.
Profile — find the weak spot
Cornerman reads the agent's call history and identifies the behaviour most likely to be costing them listings.
In our demo, the agent discounts their commission in 100% of price conversations, typically by a few tenths of a percentage point against a 2.5% standard commission and a 2% approval floor.
Instead of showing another dashboard full of KPIs, Cornerman tells the agent what they should practise next.
Learn — know what to say before the call
An optional card deck drills the information the agent needs in the moment:
- the agency's standard commission
- the approval floor
- what value to point to instead of immediately discounting
The content comes from the agency's own playbook, not a generic sales course.
Practice — rehearse the difficult conversation
The agent enters a live spoken role-play against an ElevenLabs Conversational AI seller.
The seller pushes back, references a cheaper competing agency, and makes the agent defend their value.
Cue cards appear only in the agent's UI, never in the AI seller's dialogue.
The agent chooses their level of support:
Guided → Hints → Unaided
That choice is recorded alongside the score, because a 68 earned Unaided should mean something different from a 68 earned while reading a cue card.
Reflect — think before seeing the score
After the drill, Cornerman shows a score out of 100 against the agency's playbook, a stronger line the agent could use next time, and a PDF they can keep.
Agents can optionally add a short self-reflection — what went wrong, and what they'll try next. That note is theirs: it can go in the PDF, and it isn't required to see the result.
Progress — prove the habit is changing
Cornerman tracks scores over time and whether the behaviour that triggered the training is actually improving.
For our demo agent, that means one simple question:
Have they stopped immediately discounting their commission?
Manager view — coach without surveillance
Principals get three views:
Team, Playbook, and Evidence.
They can see team progress, edit the playbook used by both the AI seller and the scorer, and inspect evidence about how reliable the scoring system is.
Agents choose whether to share a progress summary. Until they do, that summary panel shows they haven't shared rather than those numbers.
Principals can also open practice logs to review a drill and calibrate a score when they need to coach — not as an automatic feed of every private attempt into a ranked fail list.
How this improves an existing capability
• Ride-alongs and ad-hoc role-play → Unlimited spoken practice without consuming principal hours • A written playbook → The same playbook drives the AI seller and the scorer • Generic training for everyone → Diagnosis that points each agent at their weak spot • Gut-feel progress → Scores over time, plus whether the bad habit (e.g. immediate discounting) is actually changing
The business outcome is the same one coaching was always meant to produce: more listings held at approved commission, faster ramp for juniors, less principal time spent repeating the same objection drill.
AI doesn't replace the principal. It multiplies the coaching they already believe in.
Calibrate — the principal has the final say
When a principal disagrees with a score, they can correct it.
But a correction isn't just an edit button.
To save one, the principal must:
- choose the criterion
- set the score they believe is correct
- give a reason
- choose whether it applies to that conversation only or becomes the agency's standard
Agency standards are read back into future scoring.
That means a judgement made once can shape how later drills are assessed, while the agent can still see which standard applied and who set it.
Cornerman stops being a fixed scorecard shipped by a vendor and starts reflecting what this agency believes good looks like.
Three product decisions we wouldn't compromise on
Booking isn't the only way to win
Most sales coaching rewards persistence.
Cornerman also rewards knowing when to stop.
A clear "not interested" is scored against its own rubric, where respecting the homeowner's refusal carries the highest weight.
If the agent keeps pitching after a clear no, they score zero on that criterion.
In our survey of 18 sales-coaching tools, we found none that explicitly scored respecting a refusal.
Practice belongs to the agent
Cornerman is designed as a coach, not an employee surveillance system.
Progress summaries are opt-in. Until an agent shares, the principal sees that they haven't shared rather than a summary of their numbers.
When a principal does open a practice log to coach or calibrate, the product still requires judgement with a reason — so review stays coaching, not silent score edits.
A correction has to explain itself
Letting a principal change a number is easy.
Making that change meaningful is harder.
Cornerman requires a written reason before a correction can be saved, because a score change with no explanation can't become a useful standard.
The principal also has to choose the scope.
One unusual call shouldn't silently reshape how every future drill is judged, so "this conversation only" is a real option.
How we built it
Cornerman is built with:
- Next.js 16 using the App Router, with Turbopack
- React 19
- TypeScript
- Tailwind CSS v4
- a CSS custom-property design system
- ElevenLabs Conversational AI for spoken seller simulations
- xAI Grok (grok-4.5) for playbook parsing and optional score refinement
- Supabase (Postgres) for drill attempts, transcripts, calibration standards and share settings
- jose for signed-JWT session cookies and role-based access
- jsPDF to generate the agent's take-away report, unpdf to read an agency's existing playbook
- Recharts for the performance charts
- deployed on Vercel
We use per-session prompt and opening-line overrides, allowing one ElevenLabs agent to play four different seller scenarios.
Deterministic scoring, not LLM scoring
Our scoring engine is rule-based by default.
That makes scoring:
• deterministic • auditable • reproducible • testable • free to run
An optional LLM pass can polish feedback wording when configured. The rubric and the numbers our offline checks measure stay rule-based.
Authentication uses a signed JWT cookie enforced in middleware, so an agent cannot access principal-only routes.
The part we'd defend most: making voice feel like a real seller
We'd never shipped a spoken role-play product before.
ElevenLabs Conversational AI gave us a seller who could interrupt, push on commission, and stay in character — but wiring that into a real coaching loop was the hard part:
• one hosted agent playing four different seller scenarios via per-session prompt and opening-line overrides • cue cards that help the agent without being spoken by the AI seller • recording the assistance level (Guided → Hints → Unaided) beside the score, so a 68 Unaided means something different from a 68 with a cue card open • ending a call cleanly, scoring the transcript, and showing grounded feedback without faking a completed drill when the voice session flakes
We also built an offline check (npm run eval) so diagnosis and scoring claims stay measurable — currently 8/8 scoring agreement, 5/5 diagnosis accuracy, and 4/4 guardrails, including prompt injection hidden in a transcript. Useful evidence, secondary to getting the spoken loop right.
We kept calibration out of the eval path
Principal corrections are applied when a live drill is scored.
The offline harness deliberately calls the uncorrected scorer, so agreement numbers don't drift whenever someone calibrates the system.
Challenges we ran into
One agent, four personalities — except it wasn't
Three seller scenarios silently behaved exactly like the first.
The problem wasn't our application code.
ElevenLabs had first_message and prompt overrides disabled at the agent level, so our per-session overrides were being ignored without an error.
We fixed it by PATCHing the agent configuration through their API.
Learning spoken product design the hard way
Chatbots forgive hesitation. A spoken seller doesn't.
Agents freeze, talk over the bot, or lose the thread mid-objection. Shipping ElevenLabs for the first time forced us to design for that: clear start/end states, cue levels that don't leak into the seller's dialogue, and a score path that still works if the voice session drops.
The SDK session is only half the product. The other half is everything around the call.
Two vertical pivots left their data behind
Cornerman went through:
Recruitment → B2B SaaS → Real Estate
During those pivots, some numeric fields kept their old Pct names even though the underlying meaning had changed.
The app could confidently display something like 100% → 89.3% when the value actually represented dollars per seat.
We learned that:
A field name outliving its meaning is a real bug, not a cosmetic one.
Our quiz generated duplicate answers
Some incorrect quiz options were generated through arithmetic on playbook values.
Nothing checked that the resulting options were unique.
At our chosen values, two calculations collided, causing the same answer to appear twice.
We added validation instead of assuming generated distractors would always differ.
Our team briefly built two different products
The developers had moved the product to B2B SaaS overnight while the research and pitch were still being written for real estate.
We discovered the mismatch only hours before the deadline.
We chose to convert the product back to real estate rather than rewrite the pitch, because the research was already sourced and the seed data and playbook were configurable.
We deleted our own testimonials
At one point, the product contained five clearly fictional quotes labelled "AE A", "AE B", and "Manager M".
They were technically labelled, but they appeared under a heading reading Sessions (5).
A viewer could easily interpret that as five completed user tests before noticing the qualification.
So we removed them.
Instead, we show the testing protocol we would actually run.
If evidence can be misunderstood as stronger than it really is, we'd rather remove it than explain it away.
Accomplishments that we're proud of
We improved a capability agencies already pay for.
Sales coaching already exists. Cornerman makes it targeted and repeatable: diagnose the weak spot, drill it live, score it against the firm's playbook, and show whether the habit is changing.
We shipped a real spoken coaching loop.
Not a typed chatbot demo — a live ElevenLabs seller, cue levels recorded beside the score, and grounded feedback after the call.
We reward knowing when not to push.
Of the 18 sales-coaching tools we surveyed, none explicitly scored whether an agent respected a refusal.
The principal can overrule the AI, and it sticks.
A correction carries a required reason, can become the agency's standard, and is attributed to the person who set it.
We verified this end to end: after a principal set a standard, a new drill scored that criterion 100% instead of 30% and showed who made the decision.
A score has context.
Because Cornerman records the assistance level, an Unaided score can be distinguished from one achieved with Guided cue cards.
Our seller pushes hard without inventing policy.
It can challenge an agent on commission without quoting below the agency's approval floor.
We test this explicitly.
We didn't fake traction.
No invented testimonials, fabricated user counts, or technologies in our stack that we don't actually use.
What we learned
Voice is a different design problem from chat
In chat, users can scroll backwards and reread an answer.
In a spoken sales conversation, the moment disappears.
If the agent doesn't know what to say right now, the opportunity is gone.
That's why Cornerman's cue cards live in the UI rather than being spoken by the AI seller — and why first-time ElevenLabs integration forced us to design for dropouts, turn-taking, and recovery, not just a happy-path demo.
Improving an existing capability beats inventing a new ritual
Agencies already believe in coaching. The gap is repetition, targeting, and measurement.
The useful AI move wasn't "replace the principal." It was: take the coaching they already do, and make it available between the calls that matter.
Trust is a feature, not a claim
Every coaching tool can say its scoring is reliable.
What matters is what happens when the principal disagrees.
Building the calibration loop taught us that the stronger version of:
"our AI is accurate"
is:
"and when it isn't, you can correct it, explain why, and carry that judgement forward."
Honest UI is harder than pretty UI
Our most common internal question wasn't:
"Does this look good?"
It was:
"Where did this number come from?"
A large part of our final development work was making sure every important metric had an answer — including what is shared with a principal versus what stays on the agent's side of the product.
Deterministic beat clever
Using rules instead of an LLM for scoring initially felt like a compromise.
It became one of our strongest technical decisions.
Deterministic scoring made the product auditable in a hackathon setting, and made optional LLM polish a layer on top rather than the source of truth.
What's next for Cornerman
Calibration that spans the team
Right now, an agency standard applies to every future drill.
Next, we want principals to scope standards to a branch or cohort and see which corrections are actually being used.
Run the pilot
Test Cornerman with 10 agents at one multi-office group, targeting A$60 per active agent per month and break-even at 9 manager hours saved.
Retry the exact moment you struggled
Restart a simulation directly from the objection, with different wording, so agents learn the skill instead of memorising an answer.
CRM and call-recording integration
Diagnose weaknesses from real calls instead of seeded call history.
Why Cornerman
Sales agents don't need another dashboard telling them they missed their target.
They need somewhere safe to practise the conversation that caused them to miss it — and a coach their principal actually trusts.
Find the weak spot. Drill the moment. Measure the improvement.
That's Cornerman.
Built With
- elevenlabs
- jose
- jspdf
- nextjs
- node.js
- react
- recharts
- supabase
- tailwindcss
- turbopack
- typescript
- unpdf
- vercel
- xai
Log in or sign up for Devpost to join the conversation.