Skip to content

A control tower that finds the delay before the customer does

This logistics operator moved 40,000 shipments a month across nine carriers and found out about problems when customers called. We built an operations agent that watches every shipment against its promised window, and a control tower where four controllers now handle what eleven used to.

Logistics & Supply Chain

0.0hearlier, on average, that an exception is caught
Services
Operations Agents, Web Application Development
Duration
11 weeks
Year
2026

What was actually wrong.

Nine carriers, nine tracking formats, and no single view. Controllers kept the real picture in a spreadsheet that was correct for about an hour each morning.

Exceptions surfaced when a customer called. By then the recovery options were worse and the conversation started from an apology.

The team had grown to eleven controllers, and the eleventh was as busy as the first. Headcount was not solving it because the work was not decision-making — it was reconciliation.

How we went at it.

01

Traced one shipment end to end

We followed a single order through all nine carrier paths and wrote down every point where a human had to read one screen and type into another. There were fourteen.

02

Normalised the carrier feeds

One internal shipment state model, with an adapter per carrier. Everything downstream reads the model, so adding a tenth carrier is now an adapter rather than a project.

03

Built the agent in shadow mode

For three weeks the agent flagged exceptions alongside the controllers without acting. We compared its calls against theirs and tuned until it was catching what they caught, sooner.

04

Gave it hands, carefully

The agent chases carriers and drafts customer notifications on its own. Rebooking a lane and anything touching cost still requires a controller to approve. That boundary was their call, and it has not moved.

05

Built the console around the work

A single control tower: live network state, an exception queue the agent has already triaged and evidenced, and the full action history behind every flag one click away.

The build, in five panels.

Scroll the deck, or use the arrows. Everything here is also written out above and below.

Carrier portal
Spreadsheet
Email
CRM
Customer
01

Before: fourteen manual handoffs

Every shipment crossed a human between systems fourteen times. The spreadsheet was the only place the full picture existed.

9 carriers
State model
Ops agent
Exception queue
Controller
02

After: one state model, one queue

Nine carrier adapters write into a single shipment state. The agent reads it continuously and raises only what is drifting.

Operator console
  • Lane dead — SHP-44192
  • Dwell > 18h — SHP-44087
  • Address exception — SHP-43996
03

The exception queue

Each row arrives triaged, evidenced and with a proposed action. The controller decides; they do not investigate.

Wk 1 — 62% overlap
Wk 2 — 81%
Wk 3 — 94%
Go-live
04

Shadow mode, three weeks

Agent calls plotted against controller calls until the overlap was good enough to act on. Go-live was a decision, not a date.

9.4hearlier
61%fewer calls
4controllers
05

What moved

The operational numbers twelve weeks after full rollout.

What moved, and over what period.

Reported against the metric agreed before the engagement started.

0.0hEarlier exception detectionMedian, measured against the previous quarter
0Controllers, down from 11Seven redeployed, none made redundant
0%Fewer inbound 'where is my order' callsCustomers are told first
0Rebookings made without approvalThe guardrail has held since launch
The number I care about is not the headcount. It is that we stopped starting customer conversations with an apology.

Built with

Next.jsTypeScriptPostgreSQLTemporalClaudeAWS

Peak season without the peak season hiring

Next case study
E-commerce & Retail

Know what you need, or don't. We can help either way.

Already sure you want an agent, or a web, mobile or 3D product? We can scope it on the call. Still figuring it out? That's fine. AI is new, and we'll tell you honestly what's realistic. Chances are we've already worked with a company like yours, or a direct competitor, so we're not guessing.

Engagements start at $3,000. Typically live in under a month.