Fleet Management Mobile App
Cross-platform mobile app for a regional logistics company managing 500+ vehicles and 1,000 daily deliveries. AI-powered route optimization, real-time tracking, and offline-first architecture.
The Problem
A regional logistics company with 500+ vehicles relied on paper manifests and phone-based dispatch. Drivers received static routes each morning with no real-time adjustments. 18% of deliveries were missed or late. Dispatchers managed routes manually in spreadsheets—scaling beyond 1,000 daily deliveries was impossible. Customer visibility was zero: "Where's my package?" calls consumed 40% of support capacity.
The Dataset
12 months of delivery records: 1.1M completed deliveries with timestamps, GPS traces from 500 vehicles, traffic pattern data, delivery time-window constraints, and vehicle capacity specs. Customer delivery preferences and historical on-time performance by route segment.
Model & Approach
- Route Optimization: Constraint-satisfaction solver (Google OR-Tools) enhanced with ML-predicted travel times. Considers delivery windows, vehicle capacity, driver hours-of-service, traffic patterns, and customer priority tiers.
- Dynamic Re-routing: Real-time re-optimization when delays, cancellations, or new orders occur. Re-calculates affected routes in under 30 seconds across the full fleet.
- ETA Prediction: Gradient-boosted model predicting delivery windows with 15-minute accuracy, accounting for traffic, weather, stop duration history, and loading dock wait times.
- Proof of Delivery: Photo capture, e-signature, barcode scanning, and GPS-stamped delivery confirmation — all working offline.
Architecture
React Native app (iOS + Android) with offline-first architecture (SQLite + WatermelonDB) → real-time sync via WebSocket → Node.js API → route optimization service (Python/OR-Tools) → PostgreSQL + PostGIS → customer tracking portal. Background GPS tracking with battery-optimized geofencing. Push notifications for customers with live ETA updates.
Deployment
3-phase rollout: 50 vehicles (1 depot) → 500 vehicles (5 depots) → full fleet (500+ vehicles, 12 depots). MDM (Mobile Device Management) for fleet device provisioning. A/B tested route optimization against manual dispatch for 4 weeks to validate improvements. Driver training via in-app onboarding with progressive feature exposure.
Results
ROI
$780K annual savings. $340K from fuel reduction (23% fewer miles driven), $260K from reduced missed-delivery penalties and re-delivery costs, $180K from dispatch labor optimization (3 dispatchers → 1 dispatcher per depot). Customer satisfaction score: 3.2 → 4.6 out of 5.
Why It Was Hard
Offline reliability was the hardest engineering challenge. Drivers lose connectivity for hours in rural areas and warehouses. Every feature—route viewing, delivery confirmation, signature capture, barcode scanning—had to work without internet and sync correctly when connectivity returned.
Conflict resolution for offline edits was complex: what happens when a dispatcher reassigns a delivery while the driver is offline and already en route? We built a priority-based conflict resolution system with manual override for edge cases.
What We Learned
Offline-first architecture is 3× more engineering effort than online-only but non-negotiable for field workforce apps. WatermelonDB's lazy loading + SQLite gave us the performance needed for 500+ delivery records per device.
Driver adoption required making the app faster than paper. If route lookup takes longer than flipping a manifest page, drivers won't use it. We optimized app launch to under 2 seconds and route display to under 500ms.
FAQ
Does the app work offline?
Yes. Full offline mode with SQLite. Routes, delivery confirmation, signatures, and barcode scanning all work without connectivity. Auto-syncs when connection is restored.
How does route optimization work?
Constraint-satisfaction solver with ML-predicted travel times. Considers delivery windows, capacity, hours-of-service, traffic, and customer priority. Re-optimizes in real-time for changes.
Can it integrate with our TMS?
REST API supports Oracle TM, SAP TM, Blue Yonder, and MercuryGate. Bi-directional sync for orders, routes, and proof-of-delivery.