← back to all work

Expert training & practice portal

The scoring cockpit grades every expert call, but nothing an expert could see ever came back to them. The portal closes that loop: each expert sees their own scored calls and coaching notes, where they personally fall short of the call standard, and can rehearse against hostile AI founders before the next real one.

RoleArchitect and lead engineer
TimelineMay 2026 to present
StatusBuilt · private pilot
ContextBuilt at Oneday, an online education company selling degree programmes to US founders. One funnel, seven stages, five teams. I own the revenue numbers for the business and write the software that runs it. About 80 experts take intro calls. Coaching was a weekly sheet read by managers, not by the experts themselves.
TypeScript + React on ReplitExpress APISupabase Postgres (read-only)ElevenLabs Conversational AIClaude APIPostmark magic links
3,467scored calls available to experts in the first 90 days
77active experts, 40 of them with 20+ scored calls
9%of calls where the expert had spoken to real customers, the worst gap the content targets
4AI founder personas to rehearse against, including one wrong-fit lead to practise saying no

01 — The problemMeasured constantly, told nothing.

By mid-2026 every intro call was transcribed and scored, with coaching text written for each one. All of it went to a manager's spreadsheet. The expert who made the call never saw it. New experts got an orientation document and a first live lead.

The behaviour data showed what was being skipped. Across 1,280 scored calls in one quarter, experts asked whether the lead had spoken to real customers 9% of the time, asked a hard commercial question with numbers 12% of the time, and shared a failure of their own 29% of the time. Those are the behaviours that separated top from bottom performers, and they were going untaught.

02 — What I builtA reader app on the scoring data, plus a place to practise.

Phase 1Own-call feedbackMagic-link sign-in by expert email. For each recent scored call: duration, talk share, the behaviours hit and missed, and the existing coaching text: what went well, what to improve, what to say instead. A link to the recording.
Phase 2Personal gap viewHow often this expert misses each behaviour, ranked, each row linking to the matching section of the call standard. Rates only render above a minimum call count.
Phase 3Practice callsFour AI founder personas in the browser, each with a hidden fact sheet of what they volunteer and what they only reveal if asked properly. Practice is scored mostly mechanically: which withheld facts the expert surfaced. A daily cap per expert.
ContentThe call standardContext, Objective, Direction, Execution: the structure of a good intro call, with the prevalence table from real calls showing what is currently skipped.
EarlierOnboarding appThe original training app, from May: orientation content, one mock call against an AI founder, three-rater scoring and a scorecard email. The portal extends it rather than replacing it.

03 — How it worksRules written into the product, not the handbook.

  1. Read-only against the cockpit. The portal reads the scoring tables and writes nothing to them. It never touches the transcript provider directly, because inline transcript queries were a documented incident cause elsewhere.
  2. "Of your N scored calls", always. Only 29% of calls end up with a scoreable transcript, and thin transcripts are not a random sample. No rate is ever framed as an expert's record.
  3. No composite score, no leaderboard. The composite tiering inverted once, with "bottom" experts outperforming "top". The portal compares an expert to the standard, never to other experts.
  4. Transparent in practice, opaque in live. After a practice call the expert sees the rubric and the fact sheet. Live calls stay scored by an instrument they have never seen, so the live measure records behaviour rather than who memorised the checklist.
  5. Honest copy. The research behind it is observational. The portal says these are behaviours we can measure and defend as good practice, not behaviours proven to cause a sale, and it never claims call-side training fixes no-shows, because the data says experts do not differ on attendance.

04 — What brokeA rollout stalled on a setting.

Private by defaultThe first deployment was published as private. Sign-in links reached my own inbox in testing and would have bounced any expert to a login wall.
Public deployment before invitationsAccess is verified with a real external account before any invitation goes out. Not yet done, which is why this is a pilot and not a launch.
The leaderboard requestLeadership asked for a public ranking of experts by conversion, with promotion and demotion on rank.
Declined, with the evidenceThe composite that would rank them has already inverted. The spec bans cross-expert ranking and the portal compares each expert to the content instead. The disagreement is written down and still open.
Two scorer copiesA Python scorer and a TypeScript port already had to be kept in sync by hand.
No third copyPractice scoring reuses the existing scorer lineage and a mechanical answer-key check, rather than adding a third implementation.

05 — What I'd do differentlyShip phase 1 to ten experts in week one.

Phase 1 needed no new scorer, no new model calls and no new tables beyond login. It could have been in ten experts' hands within a week of the idea. Instead it shipped alongside the practice calls and the content restructure, and then sat behind a private deployment. The randomised rollout that would measure the effect on bookings is designed and not run. Smaller first release, measured, then the rest.