Logistics, 2025
Harbor
Telemetry ingestion for a fleet operator growing from 3,000 to 30,000 vehicles.
- Sector
- Logistics
- Year
- 2025
- Duration
- 5 months
- Team
- 3 engineers
- Focus
- Scale
Architecture, 7 components
- Client
- Service
- Queue or log
- Data store
- External system
The problem
Every vehicle reported its position every five seconds into a single database table. At 3,000 vehicles, the dispatch dashboard already lagged by minutes, and the operator had signed contracts that would multiply the fleet tenfold.
What we built
- 01Split ingestion from processing with a partitioned stream, so bursts queue instead of failing.
- 02Made processors stateless and horizontally scaled on stream lag.
- 03Moved position history into time-partitioned PostgreSQL tables with automated retention.
- 04Archived raw payloads to object storage for replay and audit.
What changed.
- fleet growth with no redesign
- 10×
- median position-to-dashboard delay
- 1.1 s
- database storage after partitioning
- −62%
Stack
- Node.js
- PostgreSQL
- Prisma
- Redis Streams
- AWS