Skip to main content
globasoft.uk/portfolio/logistics-automation
Modern warehouse with automated logistics systems

Logistics Automation Platform

A national freight company handling over 2,000 shipments per week had reached a breaking point with their manual coordination processes. As the business grew from regional to national coverage, the operational model that once worked with a small team and a shared spreadsheet was now creating costly delays and a mounting backlog of billing disputes.

The Challenge

The company's operations were split across three teams -- booking, dispatch, and invoicing -- each working from their own tools and passing information between them via email, phone calls, and a shared Google Sheet that was updated manually. When a new booking came in, the booking team would log it in their CRM, then email the dispatch team with the pickup details. Dispatch would assign a driver, update the shared sheet, and call the driver with instructions. Once delivery was confirmed by phone, the invoicing team would pull the details and generate a bill.

This process introduced an average 6-hour delay between booking confirmation and driver dispatch, which in the freight industry means missed pickup windows and unhappy customers. More critically, the manual handoffs between teams were a constant source of billing errors. Weight discrepancies, incorrect addresses, and missed surcharges meant that roughly 15% of invoices required correction, leading to delayed payments and strained client relationships.

The dispatch team was also operating blind. Without real-time tracking, they relied on drivers calling in with status updates, which meant the customer service team had no reliable way to answer the most basic question: "Where is my shipment?"

Our Solution

We designed and built an event-driven automation platform using Apache Kafka as the messaging backbone, with Node.js microservices handling each stage of the shipment lifecycle.

The architecture follows a clean event-sourcing pattern. When a booking is created through the new React-based booking interface, it emits a booking.confirmed event. The dispatch service consumes this event, automatically assigns the optimal driver based on location, vehicle capacity, and current workload using a scoring algorithm, and emits a shipment.dispatched event. The driver receives their assignment instantly through a mobile-optimised web interface rather than a phone call.

GPS tracking data from driver devices flows through a Redis-backed real-time pipeline, updating shipment status every 30 seconds. This powers a live tracking dashboard for both the operations team and customers, eliminating the need for status-check phone calls. When the driver confirms delivery through the mobile interface, a shipment.delivered event triggers automatic invoice generation with all details pulled directly from the booking and delivery records -- no manual data entry, no transcription errors.

PostgreSQL serves as the system of record, with Kafka providing the event log that allows any service to rebuild its state from the event history. This architecture makes the system resilient to failures and straightforward to extend with new services as the business evolves.

Results

Within the first quarter of deployment, shipment processing time dropped from an average of 6 hours to under 2 hours, representing a 3x improvement in order fulfilment speed. Billing discrepancies fell by 90%, from 15% of invoices requiring correction to fewer than 1.5%. The customer service team reported a significant reduction in inbound status enquiries thanks to the self-service tracking portal, and the dispatch team was able to handle 40% more daily shipments without adding headcount. Driver utilisation improved measurably as the automated assignment algorithm reduced empty miles between pickups.

Impressed by What You See?

We build systems like this for businesses ready to invest in real engineering. Let's talk about your project.