UK coding education business · Co-Founder & CEO

I have to answer for the conversion rate.

I co-founded this business and I run it at CEO level. The explanation was sitting in thousands of recorded sales calls and onboarding notes. Parents talk about their children on those calls, so none of it goes to a third-party API. Listening to them by hand was never going to happen, so we built something that could.

  • 241,000+bookings taken by the platform
  • 277,000+student projects created
  • 10club locations

Live platform counts, August 2026.

Recognised2nd of 100, Club Hub UK Top 100 Children’s Activity Providers 2026 · Innovate UK funded · Xero Beautiful Business Fund global winner 2024 · STEAM Impact Awards 2026 winner · National Autistic Society Autism Inclusion Award 2025 · Code Awards accredited by STEM.org · 5.0/5 from 128 Reviews.io reviews

The situation

The business teaches coding to 6–16 year olds online and in person, across ten club locations and a virtual club.

The reporting could say how many leads didn’t convert and nothing in it could say why.

My role


Founder and CEO, and the engineer on the commercial systems.

I co-built the platform with my fellow founder and I manage the technical team, so I decide what the business needs and then build it.

The platform is shared work and I’m not going to claim it alone (my co-founder would have something to say about that). The systems described on this page are mine, design and build.

How the pipeline runs

Where the sensitive data stops

Every stage inside the dashed boundary runs on hardware I own. Nothing inside it goes to a hosted API.

ON-PREMISE · GPU BOX · NOTHING LEAVES Recordingssales calls, raw audioTranscribeon owned hardwareInterpretlocal model, no vendorStructured causeswith quoted evidenceOne definitionevery number agreesBoard briefswhat to do, who owns it
Sensitive audio is transcribed and interpreted on hardware I own. Only structured causes and quoted evidence cross the boundary.

What the numbers did

More customers, and more from each one.

Both lines are up, and revenue is up faster. The two smaller figures multiply to the large one: 18% more customers, each worth 14% more, is 35% more revenue.

  • +35%monthly recurring revenue, March 2025 to March 2026
  • +18%customers, like for like
  • +14%revenue per customer, like for like
25’0326’03
Recurring revenue Customers
One complete year, March to March, indexed so the shape is shown and the figures are not. The window ends where it does because it’s the year the figures above compare, not because of what comes next.

Recurring revenue and customer count over the year to 1 March 2026, both indexed to the start. Both rise and revenue rises faster, ending the year 35% up against 18% more customers. Growth is gradual through the autumn and steepest over the winter. Both lines dip in the middle of the window, which is the summer holidays in a school-term business and happens every year.

What changed

The systems behind it

We can now say why a lead was lost, in the customer’s own words

Every lost lead now carries a cause and the sentence the customer said, so any conclusion can be checked against the recording.

No recording leaves our hardware

The calls are transcribed and interpreted on a machine we own, and no family detail goes anywhere near a third party.

One definition per number

The conversion rate used to depend on who pulled it. The board pack, the dashboards and the headline now read from the same place, so when somebody claims a change worked the argument is about whether it worked and no longer about whose figure is right.

Reporting stopped flattering the month it was in

An unfinished month always looks better than it is, so the reporting now says when a period is too young to judge.

The team asks the business systems

Everyone here works with an AI assistant. Ours answer from the business systems, under the permissions those systems already enforce.

Decisions worth explaining

Why it was built this way

The local model was measured against a cloud one

Directional briefs run through two backends over identical input, a local model and a cloud one, writing a side-by-side comparison for human judging. Local is used because it measured good enough here. That won’t hold everywhere, and if it hadn’t here I’d have paid for the cloud one.

Safeguarding causes are deliberately hard to emit

The rubric requires quoted evidence and tells the model to under-emit, because a false flag harms a real family and a real mentor.

Production writes need a typed confirmation

The pipeline defaults to a local database. Targeting production requires an explicit flag and a typed acknowledgement before any write, because a mis-pointed run would change live data straight away.

Stack. C# / .NET and MongoDB, local speech-to-text and open-weight models on owned hardware, a hosted model for comparison only, and MCP servers over the business systems.

Work with me

Got something like this to build?

Tell me the problem you’re trying to solve.