Skip to content
Silver LakeAnalytics
All work

Dangerous goods logistics

The helpdesk that was never meant to run a freight business

An interstate dangerous goods specialist ran its entire operation through a customer support helpdesk, with the vendor contract about to end. It now runs on a platform built around the way the business actually works, owned outright, with no per-seat licence to renew and no vendor able to set a deadline for it.

June 2026
Live in production
559
Automated tests
Daily
Use by operations staff

The situation

The business ran its entire operation through a general-purpose customer support helpdesk. It worked, in the sense that nothing was on fire. But the software had no idea what the business did.

A job was a support ticket. The system had no concept of a quote, a consignment, a dangerous goods classification or an invoice, so all of that lived in inboxes and spreadsheets alongside it. Correspondence for a single job scattered across separate tickets, because the helpdesk grouped mail by subject line rather than by the job it belonged to. One shipment could end up as three unrelated conversations, and an operator would only find the supplier's reply by going looking for it.

Every workaround was somebody's memory. The shape of a job, which supplier was owed a reply, whether a load had been paid for: all of it lived in the heads of the people who had been there longest, held together by diligence rather than by any system.

Then the vendor contract came up for renewal with a hard end date.

What was built

A purpose-built operations platform, and now the system the business opens in the morning and works out of all day.

A job lifecycle that matches the business rather than a ticket queue: quote, approval, booking, movement, invoicing.

An inbound mail pipeline that threads incoming messages onto the right job by matching sender and subject within a rolling window. Staff replying from Outlook loop back in and land on that job rather than a separate inbox.

Freight booking integration, with quote requests and their callbacks flowing straight into the job record.

Accounts controls, including payment locks that stop a cash-on-delivery job progressing before it is paid.

Side conversations, so a supplier thread runs alongside the customer thread on the same job without either party seeing the other.

Column-level change history on the records that carry it, so a disputed value can be traced to who changed it and when.

The part that shows it is real

Software demos are easy. Production is not.

This platform has been running the business live since June 2026, and it carries 559 automated tests: a regression suite of a size normally found inside engineering organisations rather than behind a single consultant. That suite is why the system can still be changed safely a year in, which is the point at which most custom software becomes too risky to touch and quietly starts being worked around instead.

What it turned into

It stopped being a project some time ago. It is now the record of the business: where a job's history lives, where a dispute gets settled, and what a new operator is taught on instead of being taught the workarounds.

The operator's own assessment is that it hands back around thirty per cent of the working day. That figure is theirs rather than ours, and it is the kind that comes from removing small frictions repeatedly rather than from any single feature: mail that lands on the right job, a payment state that cannot be got wrong, a history that does not need reconstructing from an inbox.

The asset is not the software. It is the operational record underneath it, which the business owns, which grows every day it is used, and which no vendor can put a renewal date on.

What it does now that it could not do at launch

Running now

Job records fill up with images, and most of them are not photographs. They are email signature badges, compliance logos and social icons that ride along on every message. Hiding them by file size does not work: a 58 KB photograph and a 58 KB logo are the same size.

The system now tells them apart by who sends them. Across the mail history it has accumulated, a signature badge arrives from many different senders, while a genuine job photograph arrives from one. On a recent job, the three badges had come from 21, 15 and 14 distinct senders, and the single real photograph from one. The badges stay hidden and the photograph displays.

Nobody configured that. It was not possible in the first month, because the platform had no history to reason over. It became possible as the business's own operational record accumulated, and it now runs on every job automatically. Conversation routing improves the same way: the longer the system runs, the better it gets at knowing which addresses belong to which counterparty.

That is the difference between software that is finished on delivery and software that keeps getting better.

The honest limit

The rollout is staged. Two operating regions are live and the rest are scheduled, and some historical records still sit in the old system awaiting migration.

That was the deliberate plan rather than a slip. A business that moves regulated freight every day does not get to switch everything over on a Friday and hope.

Recognise any of this?

Thirty minutes, no obligation. Tell me what is not working and I will tell you whether it is worth building something.

Email us about your project