Skip to content
SaaS & Startups2024

Three acquisitions left Atlas Logistics with three telematics vendors, nightly batch data, and dispatchers working from positions minutes out of date. We unified 12,400 vehicles onto one streaming platform that processes 2.1 billion events a day and puts live positions in front of dispatch in under two seconds.

Client
AQSCERT
Industry
SaaS & Startups
Timeline
14 months
Team
10 engineers
Year
2024
AQSCERT — Digitalisation certifications and academy of AQSCERT – Website and Intranet Relaunch
2.1Btelemetry events processed daily
4 min → 2 sposition freshness for dispatch
9.4%fuel cost reduction in year one
€3.8Mannual savings versus vendor contracts
The engagement

How we took AQSCERT from the problem that hurt to the numbers above.

  1. The challenge

    Atlas Logistics runs 12,400 trucks across 14 countries, assembled through three acquisitions, each of which brought its own telematics vendor, its own hardware, and its own data silo. Dispatchers toggled between three consoles showing positions that were four to six minutes stale on a good day, and full trip data, fuel burn, driver hours, route adherence, arrived as nightly batch exports, which made same-day intervention impossible.

    The commercial pressure was as sharp as the technical one. Per-vehicle vendor fees had risen 22% in two years, contracts renewed on the vendors' terms because the data lived in their clouds, and the ongoing 2G and 3G network sunsets were silently killing older devices, Atlas discovered vehicles that had not reported for weeks only when customers called about late deliveries.

    Atlas wanted out of the lock-in without the naive answer of replacing 12,400 devices at once, which would have cost more than the platform itself. The hard requirement: one live view of the entire fleet, built to ingest from the existing vendor hardware today and from Atlas-owned CAN-bus hardware as trucks cycled through scheduled maintenance.

  2. Our solution

    We built a unified ingestion layer that meets every device where it is: protocol adapters normalize the three vendors' proprietary feeds into a common vehicle-event schema, while new Atlas-owned CAN-bus units speak MQTT directly to the platform. For the dead zones that cover a surprising amount of European motorway, the new firmware buffers events locally and replays them on reconnect with device-side sequencing, so the pipeline treats late data as normal rather than exceptional.

    Everything lands in Kafka, where Flink jobs do the real work in stream: trip segmentation, geofence entry and exit, fuel-level anomaly detection that flags probable theft within minutes, and driver-hours accumulation against EU regulations. Position updates fan out to the new React dispatch console over WebSockets, dispatchers see a truck move within two seconds of the wheels turning, on one screen instead of three.

    The device replacement ran as a background process, not a project: telematics units were swapped during scheduled maintenance windows, and the adapter layer meant the platform never cared which generation of hardware a truck carried. Eighteen months in, 70% of the fleet is on Atlas-owned hardware and the last vendor contract has been reduced to a connectivity-only agreement at a fraction of the old fee.

  3. Architecture

    Kafka is the backbone: every adapter publishes into a normalized vehicle-event topic partitioned by vehicle, which preserves per-vehicle ordering while scaling horizontally. Flink provides exactly-once stream processing with event-time semantics and generous lateness windows, the design assumption is that data will arrive late, out of order, or in replayed bursts, and correctness must survive all three. Hot state lives in TimescaleDB hypertables with continuous aggregates rolling raw telemetry into the minute- and hour-level series the analytics screens query.

    Services are written in Go and communicate over gRPC on EKS, with the WebSocket fan-out tier scaled independently from ingestion because their load profiles are unrelated. Grafana serves both platform observability and the operations team's fleet-health dashboards from the same telemetry, which keeps one source of truth for the question that used to have three answers.

    Technologies

    GoApache KafkaApache FlinkTimescaleDBMQTTgRPCReactKubernetesGrafana
“We expected a data project and got an operations transformation. Dispatch works from live positions, fuel theft gets flagged the same morning, and we own our own data for the first time in a decade.”

Marek Novak

Chief Operating Officer, Atlas Logistics