Halcyon Clearance

Field services

A Newport rubbish-removal operator's whole booking-to-ledger pipeline — quotes worked out from photos, on-site evidence, AI-assisted bookkeeping — built on one deterministic core, ahead of the operator opening for online booking.

Halcyon Clearance home page — the truck, and the load-size price ladder beside it
01The site

A customer picks the kind of clearance they need.

Halcyon Clearance quote wizard — truck-fill gauge at 75%, guide total £235
02The quote

They describe the load and photograph it; the wizard shows a guide price.

Halcyon Clearance back office — the fixed price ladder and the quote it builds
03The office

A person prices the job against one fixed ladder and sends the quote.

Halcyon Driver — the native iOS app a crew works a job from
04The crew

The job, the access notes, and the photo evidence chain, on the phone.

Customer
describes and photographs the job
Quote
guide price off the ladder
Office
a person prices it and sends it
Crew
works it, and proves what was collected
Books
AI drafts the ledger, a person confirms
Deterministic coreThe server prices it, the web screens mirror it and a test holds them in step · one reference per job, quote to books · a person confirms anything a model drafts.
The problem

A rubbish-removal job is usually priced over the phone, off a description — then re-priced on the doorstep once the crew can see what's actually there. Travel, quoting and admin cost the same whether the truck comes home full or a quarter full, so that correction moves the whole margin rather than a corner of it.

Disposal is the sharper edge, and there was nothing to price it against: a sweep of six South Wales operators found not one publishes a per-tonne trade figure. The pricing had to be built from the operator's own worked numbers and then held there.

The decisions

Six calls that shaped it, and why.

01

Why the price ladder was reversed

The first ladder charged the same for every quarter of the truck — so a customer had no reason on earth to fill it.

An evenly-stepped ladder looks fair and prices the business backwards. The second quarter of a load cost exactly what the fourth did, which quietly paid the operator to make more visits rather than fewer.

The shape that replaced it anchors a full load at £300 and re-prices the rungs beneath it, so the cost per quarter falls as the truck fills. Four quarter loads booked separately come to £356, against £300 for the same rubbish cleared in one visit.

The saving is real because it comes from spreading a fixed per-visit overhead across more load — not from discounting the tip fee, which still costs what it costs. A discount you cannot explain is a discount you cannot defend on the driveway.

Guide price ladder
Quarter load£89
Half load£165
Three-quarter load£235
Full load£300
Four quarter loads, booked separately
£356
The same rubbish, one visit
£300

The gap is a fixed per-visit overhead spread across more load — not a discount on the tip fee, which costs what it costs.

The ladder the chapter is about — and why one visit beats four.
02

Why the browser is not allowed to know the price

The server holds the money figures. The web screens a customer and the office see are mirrors of them — and a test refuses to pass if a mirror has drifted.

A price shown in a page is a price the person looking at it can edit. So the payable figure is worked out on the server, from its own frozen table, and the browser's copy exists only to render.

Mirrors are the risk that buys, though. Two copies of a money figure that can quietly disagree is a real defect, so the copies are not trusted to stay in step — a test asserts they still agree, and it is that test, rather than anyone's discipline, that keeps them honest.

That was learned the expensive way rather than designed in from nothing. A collection premium sat in the customer-facing config for weeks, was offered in the wizard, and was never once added to what anyone was charged. Nothing was wrong with the number; there was simply no check that anything downstream had read it.

03

Why the quote wizard went from six steps to three

Three steps, and not one field was dropped to get there.

The customer describes the job first — the postcode, the street, what the waste is and roughly how much of it. Then access and photographs come in one pass: parking, stairs, carry distance, heavy items, the date and the time window. Contact details and consent come last.

Cutting a form is easy if you are willing to collect less. Every value the six-step version collected still reaches the crew's job drawer; what changed is how many times the customer was asked to stop and start again.

Halcyon Clearance quote wizard — truck-fill gauge at 75%, guide total £235
One of three stops — the whole job described before anyone is asked for a phone number.
04

Why the deposit was removed — and its code was kept

An order is paid in full when the quote is accepted. The retired deposit calculation is still in the codebase, wired to nothing new.

Running two payment models side by side is how a small business ends up with books it cannot reconcile. So one went, rather than both being supported.

But jobs invoiced before the change carry a deposit and a balance, and a books screen that cannot describe an old job correctly is worse than one carrying a retired function. Deleting the old maths would have made the history unreadable.

The amount payable is worked out on the server, never on the page the customer is looking at.

05

Why a photo of someone's front room arrives without their address

Every photograph a customer uploads is decoded, repainted and re-encoded before it leaves the browser — a round trip that emits pixels only, so the block carrying their phone's location cannot survive it.

A quote is worked out from photographs of a customer's own home. Those photographs routinely carry the coordinates of the place they were taken, and nobody uploading a picture of their garage thinks of themselves as sending an address.

Stripping it is not a side effect of making the file smaller, so the code carries a standing instruction not to add the obvious shortcut of skipping the round trip when a photo is already small enough. The shortcut would be faster, and it would quietly end the guarantee.

And the guarantee is proven on real bytes — a photograph with a genuine location record is pushed through it and the stored record read back out. A privacy claim nobody has tested is not a control, it is a hope.

06

Why one job carries exactly one reference

The reference is worked out from the job's own id rather than depending on a stored copy — so it reads the same whether it was derived when the job was created or a month later.

A live walk found a single job carrying three different references at once. A stored identifier can drift from the thing it names; a derived one cannot. The old stored field is still written and still honoured — it simply stopped being the thing anything trusts.

One reference now follows a job from the quote to the books, and the proof of what was collected assembles itself alongside it: a fixed five-photo chain the crew fills on site — the rubbish before, the van before, the rubbish after, the van after, and the van at the disposal site.

Pricing, scheduling and ledger records all run on rules a person can check rather than on whatever a model happened to output. The AI bookkeeping tool drafts ledger entries on top of that, and a person confirms before anything posts.

Halcyon Driver — the native iOS app a crew works a job from, showing the job, its access notes and the photo evidence chain
The crew's app — the job, how to get in, and the evidence chain they fill on site.
How it was built

The method, not just the outcome.

Halcyon did not buy a website. They bought a way of working that holds up when the truck is on the drive and the customer is asking why the price changed.

01
Understand the business first

Where the money actually leaks, what the owner already knows, and which of their rules are real constraints rather than habits. The system is designed around that, not around the software.

02
Architect for what has to be checkable

The parts that must be right every time — prices, references, records — run on fixed rules a person can audit. AI sits at the edges, where being helpful matters more than being provable.

03
Build and deploy with agentic tooling

The work is carried out by AI agents under a strict operating system: plans written before code, an independent agent that checks work it did not do, and gates that refuse a claim of "done" without proof it was exercised.

04
Then live inside it

MAST runs its own business on the same kind of machinery — the backlog, the documents, the reviews. Building the tools you also have to use is what surfaces the rough edges, long before a client has to find them.

What's next — designed, not builtNot built yet

Today the customer's photographs are read by a person. The wizard shows a guide price off the ladder from the load size the customer picks, and a human sets the quote that goes back out — the photos are what that person judges it against.

The next piece is a quote engine that reads those photographs itself and proposes the load size. The interesting part is not the model; it is that the model would not be allowed to price anything. It would propose a rung. The server would still do the pricing, a person would still be able to overrule it, and the figure a customer is charged would still be the one the server worked out.

That is the shape the rest of this system already has, and it is the reason an AI step can be added to it without turning it into something nobody can check.

What it meant

The operator gets a price the crew can stand behind before they arrive, a record of what was actually collected on a job, and a bookkeeping tool that drafts the ledger entries instead of someone re-typing the day's takings by hand — with a person, not a model, still confirming what goes on the books.

Pricing stops being an argument on the driveway and becomes a number agreed from the customer's own photographs before anyone sets off. The ladder pays the operator to fill the truck rather than to make more visits, which is the shape the underlying costs actually have.

The rest of it is the quiet half. One reference follows a job from the quote to the books, the evidence for a collection assembles itself as the crew works, and a customer's address does not travel inside a photograph of their own front room.

The stack
Quote wizard (quoted from photos)Firestore + Cloud FunctionsOn-device EXIF/GPS strippingGemini (ledger drafting)Deterministic pricing, scheduling & ledger ids

Half an hour to work out which part of your week a system like this would take off you.

Start a conversation
MAST
consulting
MAST Consulting · Applied AI for real workflows
matt@mastconsult.co.uk · MAST Consulting is a sole trader.