Great Lakes Logistics operates a fleet of over 200 vehicles across Michigan, Ohio, and Indiana. Their dispatch team was managing routes using a patchwork of spreadsheets, two-way radios, and manual phone check-ins. Drivers had no way to report delays or route changes in real-time.
The lack of visibility created cascading problems: missed deliveries, fuel waste from inefficient routing, and constant overtime from dispatchers manually coordinating schedules. Their existing GPS provider offered basic location tracking but no integration with their dispatch workflow or customer communication systems.
Great Lakes needed a unified platform that could ingest GPS telemetry, optimize routes dynamically, and give both dispatchers and customers real-time visibility into every shipment — without replacing their existing GPS hardware.
The dispatch team of eight full-time employees was spending an average of 47 hours per week on manual coordination tasks that should have been automated. Each dispatcher fielded between 60 and 80 phone calls daily from drivers requesting route clarification, customers asking for delivery ETAs, and management needing status updates. The constant context-switching meant dispatchers could never focus on proactive optimization — they were always reacting to the latest crisis.
Fuel costs had grown 18% over the previous two years despite relatively stable fuel prices, indicating systemic inefficiency in route planning and execution. Drivers frequently took suboptimal routes because dispatchers lacked real-time traffic data and couldn't dynamically reroute vehicles already in the field. The company estimated they were burning through an extra $140,000 annually in unnecessary fuel consumption, not counting the labor costs of overtime and missed delivery penalties.
Before approaching FreedomDev, Great Lakes had attempted two other solutions. They first tried implementing a commercial fleet management system from a major provider, but the $85,000 annual licensing fee and mandatory hardware replacement cost of $450 per vehicle made the total investment untenable. They then hired a local developer to build a basic tracking interface, but that project stalled after six months when the solo developer couldn't handle the complexity of real-time data processing at scale.
Customer satisfaction scores had declined from 4.2 to 3.6 stars over 18 months, with most complaints centered on late deliveries and poor communication about delays. Their largest customer, a regional manufacturing company representing 23% of annual revenue, had issued a formal warning that they would seek alternative logistics providers if on-time performance didn't improve within 90 days. The situation had reached a critical point where technology limitations were directly threatening business viability.
The existing GPS hardware from their provider transmitted location updates every 60 seconds but stored the data in a proprietary web portal with no API access. Dispatchers had to log into the portal, manually check each vehicle's location, then cross-reference that information against spreadsheets showing assigned routes and customer delivery windows. This manual process meant the 'real-time' GPS data was often 15-20 minutes old by the time dispatchers could act on it, rendering it nearly useless for dynamic decision-making.
We've solved problems like this before. Book a quick call to discuss your situation — no obligation.
FreedomDev designed a custom fleet management platform built on Node.js with WebSocket connections for real-time data streaming. The system ingests GPS events from the existing hardware via a lightweight adapter service, processes them through a geofencing engine, and pushes live updates to dispatcher dashboards.
The React frontend provides dispatchers with a map-based interface showing every vehicle's position, route progress, and ETA. Automated alerts fire when a driver deviates from route, enters a customer geofence, or falls behind schedule. Customers receive automated delivery notifications via SMS and email.
The PostgreSQL backend was designed for high-throughput writes — handling 50,000+ GPS events daily with automatic data partitioning by date. Historical route data powers an analytics dashboard that identifies fuel waste patterns and suggests route optimizations.
The architecture decision to use WebSockets rather than traditional polling-based updates was critical for achieving sub-second latency. FreedomDev evaluated several real-time communication approaches, including Server-Sent Events and long polling, but WebSockets provided the bidirectional communication needed for both pushing updates to clients and receiving acknowledgments from dispatchers. The team implemented Socket.io for its automatic fallback mechanisms and built-in room-based broadcasting, which allowed efficient targeted updates to specific dispatcher groups without unnecessary network traffic.
The GPS adapter service presented the most significant integration challenge because the existing hardware provider offered no official API. FreedomDev reverse-engineered the provider's web portal using browser developer tools to identify the underlying HTTP endpoints, then built a Node.js scraper that authenticated as a legitimate user and polled for new location data every 15 seconds. The scraper normalized the proprietary data format into a standardized JSON schema before queuing it for processing. This approach required careful rate-limiting and session management to avoid triggering the provider's anti-automation measures while maintaining data freshness.
The geofencing engine uses PostGIS spatial extensions to perform point-in-polygon calculations for over 400 customer delivery zones. FreedomDev implemented spatial indexing on the PostgreSQL geometry columns, which reduced geofence evaluation from an average of 340ms per event to just 8ms. The system caches frequently accessed geofence boundaries in Redis with a 15-minute TTL, further reducing database load during peak delivery hours when GPS events spike. When a vehicle enters or exits a geofence, the engine triggers webhook calls to the notification service, which handles SMS via Twilio and email via SendGrid.
The React dashboard was built using MapLibre GL for performant vector tile rendering of vehicle positions and routes. FreedomDev chose MapLibre over alternatives like Leaflet because it provided better performance when rendering hundreds of moving markers simultaneously. The team implemented optimistic UI updates so dispatchers see changes immediately when they modify routes or send driver messages, with WebSocket confirmations updating the interface once the backend processes the action. The dashboard also includes an offline mode using service workers, allowing dispatchers to view cached vehicle positions and queue route changes even during brief internet outages.
Testing the real-time event processing system required simulating realistic GPS data streams at production scale. FreedomDev built a custom load testing tool that replayed historical GPS logs from Great Lakes' previous six months, compressed into a two-hour test window. This approach generated over 180,000 events per hour during testing, more than triple the expected production load, to ensure the system could handle unexpected traffic spikes. The team identified and resolved several bottlenecks during load testing, including a memory leak in the WebSocket server that only manifested under sustained high-connection counts.
The five-person FreedomDev team included two senior backend developers focused on the Node.js event processing pipeline and PostgreSQL optimization, one frontend developer building the React dashboard, one DevOps engineer handling AWS infrastructure and deployment automation, and one project lead who coordinated with Great Lakes stakeholders. The team worked in two-week sprints with daily standups and bi-weekly demos to Great Lakes dispatch managers, incorporating their feedback directly into subsequent sprint planning.
FreedomDev brought all our separate systems into one closed-loop system. We're getting more done with less time and the same amount of people.
Spent a week riding along with drivers and shadowing dispatchers to understand the real workflow, not just the documented one. FreedomDev team members observed six complete delivery routes across different vehicle types and territories, documenting every manual process, communication pattern, and decision point. The audit revealed that drivers were using unofficial workarounds like personal smartphone apps for traffic routing because the company's official processes couldn't adapt to real-world conditions.
Built an adapter service to normalize telemetry data from existing GPS hardware without requiring device replacements. The integration layer polls the GPS provider's system every 15 seconds, transforms the proprietary data format into a standardized schema, and queues events for processing through RabbitMQ. This architecture decouples the unreliable third-party data source from the real-time processing pipeline, allowing the system to continue operating smoothly even during GPS provider outages by gracefully degrading to last-known positions.
Developed a WebSocket-based event processing system with geofencing, route deviation detection, and automated alerting. The engine processes incoming GPS events through a series of microservices that calculate ETAs based on current traffic conditions, evaluate geofence transitions, detect route deviations beyond configurable thresholds, and trigger notifications. FreedomDev implemented circuit breakers and exponential backoff for external service calls to prevent cascading failures when notification services experience latency.
Built a map-based React dashboard for real-time fleet visibility with route management and customer notification triggers. The dashboard includes role-based access control so dispatchers see their assigned vehicles while managers have full fleet visibility. FreedomDev conducted three rounds of usability testing with actual dispatchers, iterating on the interface design based on their feedback about which information needed to be visible at a glance versus hidden in drill-down panels.
Added historical route analysis and fuel consumption reporting to identify optimization opportunities across the fleet. The analytics module aggregates GPS data with fuel purchase records to calculate per-route and per-driver efficiency metrics, highlighting outliers for investigation. FreedomDev built a recommendation engine that analyzes three months of historical data to suggest recurring route optimizations, which dispatch managers review weekly and implement for the following week's schedules.
Make your software work for you. Let's build a sensible solution for your unique business logic.