15,000 vehicles, one nervous system. Real-time telemetry meets predictive maintenance, so breakdowns get caught before they happen, not after the tow truck arrives.
15,000 vehicles on cellular networks means constant reconnects, out-of-order packets and traffic that spikes with rush hour. MQTT keeps the on-vehicle footprint tiny and survives dropped links; Kafka then acts as the shock absorber, partitioning by vehicle ID so a burst from one region never stalls the rest.
Node.js consumers sit downstream, validating and geofencing each event before it ever touches the database, keeping the write path clean and the hot path fast.
Raw signals are cheap; insight is the product. TimescaleDB continuous aggregates roll per-second readings into minute and hour buckets, so a fleet-wide fuel query returns in milliseconds instead of scanning billions of rows.
Maintenance models watch rolling windows of engine temperature, vibration and voltage. When a signature drifts toward a known failure mode, dispatch gets an alert days early, turning a roadside breakdown into a scheduled service slot.
| Component | Technology | Why |
|---|---|---|
| Device ingest | MQTT over TLS | Lightweight, low-bandwidth pub/sub built for flaky cellular links. |
| Stream backbone | Kafka | Partitioned, replayable buffer that decouples spikes from processing. |
| Stream processing | Node.js | Non-blocking I/O handles tens of thousands of concurrent streams cheaply. |
| Telemetry store | TimescaleDB | Hypertables + continuous aggregates for fast time-range queries at scale. |
| Infrastructure | AWS | Auto-scaling brokers and consumers to follow fleet load through the day. |
Sub-second vehicle positions and health scores streamed to operators over WebSockets.
Sensor-window models flag failing components before they cause a breakdown.
Idle, harsh-driving and route inefficiency detection that drives down consumption.
Real-time zone entry/exit events for routes, depots and restricted areas.
Kafka retention plus TimescaleDB lets any vehicle's trip be reconstructed exactly.
AWS auto-scales brokers and consumers to match daily fleet load curves.
“We stopped reacting to breakdowns and started scheduling them out of existence.”
The platform turned a fleet of 15,000 vehicles from a black box into a real-time, queryable system. Fuel spend dropped 18% and roadside breakdowns fell 45%, not from a single feature, but from an architecture that treats every vehicle as a continuous stream: MQTT at the edge, Kafka as the buffer, Node.js doing the work, and TimescaleDB making 1.3 billion daily events answerable in milliseconds. The result is an operations team that acts on what's about to happen instead of what already broke.