The data backbone behind every serious EV business
A battery without telemetry is a guess. A swap network without telemetry is a logistics gamble. A fleet without telemetry is a TCO question that nobody can answer.
We build the data backbone that turns raw cell voltages, currents, temperatures, and BMS faults into a queryable record your engineering, operations, and finance teams can all rely on. The work spans physical-layer integration with telematics hardware (Teltonika, Nesh, VoltUp, and bespoke OEM units), BMS protocol decoding (vendor-proprietary CAN dialects, J1939, Modbus, BLE GATT services), edge-resident filtering, and a high-throughput cloud pipeline tuned for the volume and shape of EV telemetry.
What an end-to-end pipeline looks like
- Edge ingestion — Lightweight agents on the telematics device or paired BLE companion, time-stamping events and buffering through cellular outages. Compressed binary frames over MQTT (TLS) or HTTPS for constrained links.
- Gateway and decode — A horizontally scalable MQTT broker (EMQX / VerneMQ) feeds a stateless decode service. Per-OEM decoders translate proprietary BMS frames into a normalised event schema. Schema evolution managed via Confluent Schema Registry / Buf.
- Stream processing — Kafka or Redpanda topics for raw, normalised, and derived events. Real-time enrichment (vehicle metadata, station context, GIS) via Kafka Streams or Flink. Anomaly streams branched out for the analytics layer.
- Time-series storage — TimescaleDB or ClickHouse for high-cardinality, high-volume tabular telemetry. Partitioning by vehicle / pack / day; continuous aggregates for cheap rollups.
- Hot lookup — Redis or DynamoDB for last-seen / last-state queries from operator dashboards.
- Cold storage and analytics — Parquet on S3 with Apache Iceberg for ad-hoc analytics in Spark / Trino / Snowflake.
Engineered for the EV use case
Battery telemetry has very specific characteristics: bursty connectivity, high event cardinality (thousands of points per pack), strict timing requirements for fault detection (sub-second), and a long tail of OEM-specific frame formats. Our reference architecture is tuned for that — we have shipped versions of it at multiple scales and have a written playbook for migrating from a vendor-managed black box to a stack you own.