EV Fleet Operations Platform & Telematics Ingestion
One unified telemetry stream from many vendors, powering a platform that runs an electric delivery fleet end to end.
- Role
- Architect, Lead Developer
- When
- 2025 – present
- Where
- Xtreme Thoughts SoftTech
- Client
- Electric last-mile delivery fleet
- backend tests passing
- client UAT cases passed
- deploys needed to add a provider
The problem
The problem
Onboard riders, lease them vehicles, place them with delivery clients, track daily activity, monitor vehicle & battery health, then reconcile client invoices against rider and vendor payouts — with telemetry arriving in a different shape from every provider.
The system, drawn
The system, drawn
How it works · 5 parts
- 01
Telematics ingestion
Provider webhooks authenticate with hashed bearer tokens; raw payloads are persisted, batched into AWS SQS, and a worker normalises each vendor's field and CAN mappings into one schema (dot paths, UTC timestamps, unmapped keys preserved). Output: de-duplicated history plus a live snapshot per vehicle per provider.
- 02
Operational resilience
DLQ classification auto-retries transient failures and surfaces the rest in a bulk retry panel. Per-provider health, uptime and failure counts drive alerts. New providers are onboarded from the admin UI with no deployment; a feature flag kept the cutover from vendor pull APIs reversible.
- 03
Realtime tracking
Rider positions stream over Socket.IO, throttled server-side to one write per 5s with a Redis route buffer, feeding live maps and route replay.
- 04
Domain breadth
Multi-step KYC, face + QR attendance with nightly auto-correction, vehicle master with insurance & EMI, full battery lifecycle, client invoicing, payouts and payroll.
- 05
Surfaces & delivery
Next.js ops console (Google Maps, Mapbox, deck.gl), React Native + Expo rider app, TypeScript/TypeORM ERP. Multi-stage Docker → ECR via GitHub Actions with per-environment and per-franchise pipelines.
Stack
- Java Spring Boot
- Node.js
- Express
- MongoDB
- AWS SQS
- Redis
- Socket.IO
- BullMQ
- Next.js
- React Native
- Expo
- TypeScript
- TypeORM
- PostgreSQL
- S3
- Docker
- ECR
- GitHub Actions