// Industry
Freight telemetry that survives a bad link
A driver's phone reports position over the least reliable connection in the system. What reaches the dispatcher is not what happened — it is what arrived, in the order it arrived.
// The problem
Why this is hard
Every tracking system is a distributed system with the least reliable link in the most important place: a phone in a moving vehicle. That link drops, buffers, and comes back all at once — and almost none of the resulting failures look like failures. The map keeps drawing. The dashboard stays green. The position it shows is simply no longer true, and nothing in the system is shaped to say so. The interesting part is that none of this is a bug in the buffering, because there usually is no buffering: it starts in a wire contract that has nowhere to put a capture time, and it ends with a dispatcher acting on a truck that left forty minutes ago.
The payload cannot say when
A position endpoint that accepts coordinates and nothing else forces the server to stamp arrival time. A buffered client replaying an hour of driving sends it as a burst of now — and the oldest fix, arriving last, wins.
Status is not freshness
The guard on the marker is usually written on the order's lifecycle rather than on elapsed time. The two agree until the device goes quiet while the order stays open — which is the one case the guard exists for.
The table nobody indexed
A location history table takes a row per ping and is read by nothing for the first year, so the missing index is never a slow query. The first person to feel it is whoever builds the feature the data was collected for.
// What matters here
The capabilities that move the needle
Real-Time Ops
Alerting on the counter that binds rather than the load that looks calm — for a fleet, that is the age of the last fix per vehicle, not the health of the socket carrying it.
Real-Time AI Audit
A read of the wire contract, the write path and the connect handler, ending in the specific places your map is allowed to be wrong and what each one costs to close.
Real-Time Rescue & Migration
When the tracking layer works and cannot be changed safely — no shutdown handling, no idempotency key, a history table with no access path — the sequence that gets it there without a flag day.
Voice Agents in Production
Dispatcher and driver calls are the other real-time surface in freight, and the one where a missed turn costs a conversation rather than a pixel.
// Deep dives
Going deeper for logistics
// Proof
Measured on our own hardware
of replays leave the wrong fix
A buffered client replaying its positions; 500 trials per arm on our own harness; 0% once the write is guarded on capture time. It reproduces with zero emulated latency — the mechanism is the client's dispatch queue, not the network.
for one order's history, unindexed
A sequential scan at ten million rows, against 0.04 ms with the index. The history table is the fastest-growing object in a tracking system and the last one anybody indexes, because for the first year nothing reads it — by the time somebody does, the cost is already accrued at whatever size the table reached.
median reconnect wait, 10k fleet
One deploy puts every driver back through authorisation at once. This is what that costs the fleet, on our own harness, with the reconnection defaults nobody changed because they look configured.
Not a client outcome and not a vendor figure — numbers we took, on hardware we can name, with the method published in full. The write-ups: The timestamp that was never on the wire, You are storing the track and you cannot draw it, The deploy that logs every driver back in at once.
// From the field
What we wrote about it
The timestamp that was never on the wire
A phone that loses signal keeps recording. When it reconnects it sends everything at once — and if your API never gave it a field to say when each fix was taken, the server stamps them all with now. The oldest position arrives last and wins.
Status is not freshness — the field the API sent and the dashboard threw away
Every dashboard that confidently shows a position that is no longer true has a near-miss inside it. The freshness data usually already arrived from the API. Somebody wrote a guard, and put it on the wrong axis.
You are storing the track and you cannot draw it
Every accepted ping goes in. One row each, no thinning, four columns, no indexes — not even on the foreign key — in a codebase that indexes another table nine ways. And the product it was collected for draws three markers and no line.
The deploy that logs every driver back in at once
For a request/response API a missing shutdown handler costs a handful of failed requests. For a socket system it costs a synchronised reconnect of every connected client, each one re-running an authorisation query — and none of it shows up in the metrics you already have.
Your packet-loss number is a property of your congestion controller
"We see 4% packet loss" sounds like a fact about the network. Usually it is a fact about your own stack. We built a link configured to lose nothing, and then made it lose half a percent — by changing the sender.
The socket reconnected. The subscription did not.
A dropped websocket comes back on its own — that is what the library is for. What does not come back is the room it was in, because rooms belong to the socket that left. The connection reads healthy and the screen is blind.
// FAQ
Common questions
// Related
Related industries
Media & Streaming
Always-on video that has to stay up and stay affordable — fleet capacity, transcode cost, and the failure modes that only appear at production framerate.
Live Commerce
Live selling where latency decides whether the interaction works at all — and where the traffic arrives all at once, at a time you announced in advance.
// Let's build
Building AI for logistics?
Tell us where you are. We reply within a day with a concrete next step.