A freight portal that brings visibility to every mile
A real-time shipment visibility platform connecting carriers, shippers, and dispatchers with live tracking, geofence alerts, and automated status updates.
What the engagement involved
- Industry
- Freight & Trucking
- Duration
- 18 weeks
- Cooperation model
- Fixed price, phased
Client name withheld under NDA. Engagement details are shown to the extent our agreement permits.
The hard problem
Location data was trapped in carrier portals, leaving dispatchers answering status calls and shippers guessing delivery times.
Location existed (every truck had an ELD reporting it) but it existed in four places the customer couldn't reach and the dispatcher had to visit one at a time. ETAs were quoted from the schedule instead of from the truck, so they were confidently wrong the moment anything went wrong, which is the only time anyone asks.
We built a unified freight portal that ingests carrier ELD and GPS data, renders live shipment maps, and alerts customers when loads cross geofenced milestones.
The system we were asked to build
Shippers called dispatch constantly asking "where is my load?" We built a portal with live telematics tracking and automated status updates.
A third-party logistics operator moving freight across four carriers, each with its own portal and its own login. Dispatchers spent their day answering where-is-my-load calls by logging into whichever portal applied and reading a number back. The engagement was commissioned when the operator lost a contract on service scores that were, on inspection, entirely about visibility and not delivery performance.
Systems Integration & Engineering
How the pieces fit
- 01
Integrated carrier ELD feeds and GPS telematics into one pipeline
Carriers were integrated one at a time with each feed validated against known journeys, because a tracking map that is wrong once stops being opened.
- 02
Designed a real-time tracking map with dynamic ETA recalculation
Crossing a geofence is an event, so the ETA recomputes at the milestone instead of on a timer, and delay is judged against that leg's own history.
- 03
Built automated geofence entry/exit alerts for shippers
Alerts fire on geofence entry and exit, never on a schedule, which is what makes a warehouse arrival notification sub-minute instead of sub-hour.
- 04
Shipped branded customer tracking links for self-serve status
Customers get a token scoped to one shipment, so tracking needs no account and exposes nothing beyond the load it was issued for.
Live GPS & Telemetry Tracking Map
Real-time interactive Mapbox portal showing precise vehicle locations, speed, and route history.
Carrier ELD units publish over MQTT at a rate that would flood a browser, so telemetry lands in a broker, is smoothed and decimated server-side, and reaches the map over one WebSocket per session carrying only the vehicles in view. Positions are interpolated between pings so trucks glide instead of jumping, and route history is drawn from the stored track, never reconstructed from the current heading.
- MQTT ingest smoothed and decimated before it reaches the browser
- One socket per session, scoped to the vehicles in view
- History drawn from the stored track, not reconstructed
The network board: 128 live loads filtered by state along the bottom, one socket carrying only the vehicles in view, and a load whose feed went quiet drawn as a last known position and a cone, with the call dispatch made about it.
Geofenced ETA & Delay Predictor
A nine-mile queue on the M1 north of London puts a run thirty-five minutes down against that leg's own history, the shipper texted the new time twelve minutes after the slip, and the three rings around the depot with the rules for who hears about each.
Calculates arrival ETAs dynamically and alerts dispatchers of traffic or border delays.
Geofences are polygons around the yard, the border crossing and the delivery point, and crossing one is an event: the ETA recomputes at the moment a milestone changes, not on a timer. Delay prediction compares the current leg against the same leg's historical distribution, so an alert fires when the truck is slower than that road usually is. A flat average would flag every slow road every day.
- Milestone crossings as events, not polled positions
- ETA recomputed at the moment a geofence is crossed
- Delay judged against that leg's own history, not a flat average
Shipper & Consignee Portal
Branded self-service tracking links allowing customers to monitor active deliveries 24/7.
Customers get a tokenized link scoped to one shipment, so tracking needs no account and exposes nothing else. The previous portal handed out logins that could see the whole book. The page carries the shipper's branding from a theme record, updates over the same socket as the internal map, and expires on delivery plus a retention window instead of staying live forever.
- Per-shipment tokenized links: no account, no wider access
- Shipper branding applied from a theme record
- Links expire on delivery plus a retention window
The same load as the shipper sees it on a link with nothing to sign in to: the shipper's own colors, one route, five steps, and an arrival time that keeps itself current until the link closes after delivery.
Phase by phase
Phase 1: Telematics & Carrier API Audit
ELD Device & Carrier Data Integration
Audited telematics streams, ELD device connectors, and carrier tracking updates across 500+ daily shipments.
- Telematics Data Schema
- Carrier API Map
- Data Privacy Audit
Phase 2: Live Shipment Map UI
Dispatcher & Customer Tracking Portal
Designed high-density dispatcher and customer tracking portals with real-time location pins and geofenced ETA alerts.
- Mapbox UI Component Library
- Dispatcher Portal Specs
- Figma Design System
Phase 3: High-Frequency Telemetry Engine
MQTT Ingestion & Delay Predictor
Engineered an MQTT broker pipeline ingesting thousands of GPS telemetry updates per minute, with automated delay prediction.
- MQTT Ingestion Engine
- Delay Prediction Engine
- Geofence Trigger Service
Phase 4: Customer Rollout & Analytics
Shipper Portal Launch & Performance
Launched the portal to shippers and carriers, reducing tracking status calls by 54% and improving ETA accuracy to 98%.
- Production Release Sign-off
- Customer Portal Onboarding
- SLA Monitor
Carriers brought on one at a time: the third carrier's feed replayed against known journeys, a seven-minute gap under review, and the feed held off the map until every journey matches.
What it carries now
−54%
Status calls
98%
ETA accuracy
< 10s
GPS update rate
Status calls is the dispatch line's own inbound count, comparing the quarter after the customer links went live with the quarter before. ETA accuracy is the share of arrivals inside the predicted window, measured at the delivery geofence. Update rate is the ninetieth percentile interval between position updates reaching the map, not the average.
Client name withheld under NDA. Figures are approximate, drawn from the engagement’s own reporting.
What the architecture settled
- 01
Self-serve customer shipment tracking reduced inbound status calls by 54%.
The calls went away because the answer was self-serve and trustworthy. A portal customers check once and find stale is one they stop checking and start calling about.
- 02
Automated geofence triggers provided sub-minute warehouse arrival notifications.
Sub-minute arrival warning changed the warehouse's behavior more than the shipper's: docks could be staged before the truck was visible from the yard.
- 03
MQTT telemetry pipeline processed 10,000+ GPS updates per minute with zero lag.
Decimating server-side is what made the rate sustainable. Pushing every raw update to every browser had been the obvious design, and it wouldn't have survived the fleet.
How the work was run
- 01
A cross-functional team of 5 worked on a fixed price, phased basis over 18 weeks, covering Portal engineering, Telemetry pipeline, Customer tracking. We ran a standing mid-week checkpoint and written decisions in place of status meetings. Nothing shipped without a live demo first.
Carrier integration was phased one carrier at a time, with each feed validated against known journeys before it fed the map, because a tracking portal that's wrong once is a portal customers stop opening. Shippers got the branded links in the third phase, once ETA accuracy had been measured instead of assumed.
One load, one ETA
The arrival time comes from the truck, not the schedule.
Load 44,812 on its way to the Basildon depot, replayed three ways: a ping that crosses a geofence, a queue that makes the leg slower than it usually is, and a driver-hours check that puts a break before the depot. Each shows how the ETA is recomputed and who hears about it. Switch tabs, or use the arrow keys once one is focused.
Most pings only move the pin. This one puts the load inside the ten-mile ring around the Basildon depot, and crossing a ring is an event: the ETA is recomputed at that moment instead of on the next timer tick, and the ring's own rules decide who hears.
- Ping lands in the MQTT broker
- Smoothed and decimated server-side
- Inside the 10-mile ring: an entry event
- ETA recomputed at the crossing
- The ring's rules decide who hears
Recomputed from the truck at the ring, not from the schedule
Who is told
- Dock team · BasildonDock screen and appUnder a minute
- Shipper linkUpdates over the same socketAs it happens
- DispatchNo alert: still inside the windowNot told
Why it matters: the arrival warning comes from the ring being crossed, so the docks can be staged before the truck is visible from the yard.
Illustrative replay: clock times, minutes and message delays are examples; the order of events is how the engine works.
From a ping in a cab to a time on a customer’s phone
Pushing every raw update to every browser was the obvious design, and it wouldn't have survived the fleet. The rate is made sustainable in the middle of the pipe, before anything reaches a screen.
- 01 · SourceCarrier ELD and GPS unitsFour carriers, integrated one at a time. Each feed is validated against known journeys before it feeds the map.
- 02 · IngestionMQTT broker10,000+ GPS updates a minute land in the broker and are smoothed and decimated server-side, never pushed raw to a browser.
- 03 · EngineGeofence and delay engineA ring crossing is an event, so the ETA recomputes at the milestone. Delay is judged against that leg's own history.
- 04 · StateStored track in PostgreSQLRoute history is drawn from the recorded track, not reconstructed from the vehicle's current heading.
- 05 · DeliveryWebSockets to map and linkOne socket per session, scoped to the vehicles in view. Shipper links update over the same socket, p90 under 10 seconds.
What a customer can rely on
Accurate when it answers, honest when it can’t, scoped to one load
No feed reaches the map unproven
Carriers were brought on one at a time, each feed checked against journeys whose route was already known, because a tracking map that's wrong once is one customers stop opening.
A quiet feed is shown as quiet
When a device stops reporting, the map stops pretending: a last known position and a cone of where the load could be, never a pin moving on a guess.
One link, one load
Customer links are tokens scoped to a single shipment: no account, nothing else in the book visible, and the link expires after delivery plus a retention window.
Is your dispatch line still answering “where’s my load?” Scope your build in 3 minutes.
Scope your buildNearby engagements
Data & AnalyticsWarehouse inventory that stays accurate on its own
An inventory automation layer that reconciles counts across warehouses, forecasts replenishment, and flags discrepancies before they become stockouts.
Warehousing & Fulfillment · 13 weeks
Web PlatformsOne long form is why the device records were empty, so the record became tabs
A small desktop tool for cataloging equipment, where a device record is split into tabs so a partial entry is a normal state, never an abandoned form.
Logistics & Distribution · 5 weeks
Web PlatformsAn order pipeline that scales for month-end and costs nothing at 2am
An event-driven serverless rebuild of a B2B order-processing pipeline: triggered per purchase order, scaling for month-end volume, and costing next to nothing overnight.
Logistics & Distribution · 10 weeks
Let's talk
Running a large platform, shaping a first MVP, or getting a product ready for a funding round? Tell us where you are. We'll shape the process around it, and stay with you after launch.













