Home energy surveys · UK
Mack, for CMS Surveyors
An AI operator went live inside the business in May, and by August the operations director was building his own automations on it without me.
Eleven people, ten mailboxes, and a CRM that only told you anything if somebody remembered to open it. Work moved by whoever happened to notice it. The operations director spent his day being the routing layer between an inbox, a calendar and a job board, which is not what a co-founder is for.
An operator that reads every mailbox, triages what arrives, drafts the replies, writes the CRM notes and reports on the business, then tells one person what is actually parked on them. It has run continuously since 6 May. The team now writes their own automations against it.
- emails triaged since going live in May
- 10,715
- agent sessions in the last seven days
- 3,409
- standing automations the team now runs
- 40
The problem
CMS Surveyors is eleven people running home energy surveys and retrofit installs across the UK. The work itself was fine. The coordination around it was the problem: ten mailboxes, a CRM called Reonic that held the truth only when someone remembered to update it, and a director of operations who had become the human message bus between all of it. Nothing was broken enough to name, which is the hard kind. There was no single failing process to fix, just a hundred small handoffs that each cost someone four minutes and only existed because no system was watching.
What I built
I forked Kern, the multi-agent system I run my own company on, into their environment: their Supabase, their Railway, their Google Workspace, their interface. Not a demo tenant and not my infrastructure. It reads all ten mailboxes on a reconciler that sweeps every ten minutes, classifies each message by tier, drafts what it can and escalates what it should not touch. It writes back into Reonic. It runs the reporting. The design constraint that mattered most was restraint: consequential actions get classified and held for approval rather than fired, because an ops assistant that emails a customer the wrong thing once is an ops assistant nobody trusts again. Every action it takes is logged as a row naming who it went to, so the question "did that actually happen" has an answer that is not "probably".
What it looks like
Data substituted
Data substituted
Data substituted
Data substitutedShots marked data substituted are the real interface with invented content in place of the client’s. Every name, address, sum of money and email on those screens is made up. The layout, the components and the behaviour are exactly what the client uses.
What happened
Live since 6 May, 98 days and counting. 28,515 agent sessions, 3,409 of them in the last seven days alone. 10,715 emails triaged since the end of May with 728 drafted replies. In one recent eight-day window it logged 1,117 autonomous actions, 650 emails sent and 297 CRM notes written, every one naming its recipient. The outcome I care about most is not in that list. Four weeks after go-live I rebuilt the interface off a week of the operations director's real sessions, which showed three things I had guessed wrong: his most repeated question was verification rather than instruction, work stalled because he could not see what was waiting on him, and about 85% of his input was voice, not typing. The rebuild answered those three. He now runs 40 standing automations, most of which he wrote himself, and asks for the ability to write more.
Provenance: Every figure measured 2026-08-11 against the live production Supabase project: ki_sessions, mack_pa_processed, mack_action_log, scheduled_tasks and profiles. Interface findings from a review of one week of real session logs, July 2026.
Want the same thing done to your operation?
Ten working days, a fixed fee, and one automation live before we finish. If there is nothing worth automating, I will say so in the findings.
Book a call