Code Brew Labs Developed a Transportation Management System for a 3PL Provider to Increase On-Time Deliveries by 35%

Dispatch console with automated dispatch and live vehicles, beside the driver route app

Project Overview

Our client, a 3PL (Third-Party Logistics) company in Riyadh was handling shipments for retailers and distributors in Saudi Arabia. Its dispatchers had a spreadsheet for daily orders, but decisions still happened over the phone. They would call drivers to check availability and then send delivery details separately.

The company already had an ERP for customer accounts and billing. What it did not have was a system for handling deliveries between the warehouse and the customer. Dispatchers were required to know which driver had taken a shipment.

Our logistics software development team built a transportation management system around these operations. Shipment assignments moved into the TMS, and drivers started receiving trips through a mobile app. Delivery updates also went straight into the system instead of being collected later by office staff. Within six months of rollout, on-time deliveries had increased by 35%.

Business Challenges

  • Too much time spent assigning shipments

    Dispatchers had to go through pending orders and find a suitable vehicle for each load. Even after preparing the schedule, they often had to change it because a driver wasn't available.

  • Drivers were difficult to track after leaving

    The team knew when a truck had been dispatched. What happened after that was harder to follow. A delayed delivery might only come to their attention when the customer called.

  • Delivery confirmations were scattered

    Some drivers sent photographs through WhatsApp. Others shared signatures later in the day. The office then had to work out which proof belonged to which shipment.

  • Vehicle capacity was going unused

    Certain trucks were assigned long delivery lists while others had room for more shipments. The team had no easy way to compare vehicle loads before finalizing the schedule.

  • A failed delivery disrupted the schedule

    If a customer wasn't available, the driver would call dispatch. The dispatcher then had to decide whether to try again or schedule the delivery for another day. The rest of the route could be affected.

Our Solution

The first change was to bring all shipment orders into one system. Dispatchers no longer needed to combine several spreadsheets before planning deliveries.

Each order received a shipment ID. Its status changed as it moved through planning, dispatch and delivery. The team could also see who had updated a shipment and when.

  • Shipment records and status history stored in PostgreSQL
  • ERP order imports through REST APIs, with CSV support for bulk uploads
  • Missing addresses and duplicate order checks
  • Shipment filters for pending and overdue deliveries
  • Delivery confirmations linked to shipment records

The old allocation process required dispatchers to check vehicle availability by phone. We moved those checks into a dispatch service.

When shipments are ready for assignment, the software looks at vehicle capacity and delivery zones. It also checks if a driver has already been assigned another trip during the same period.

  • Vehicle availability and driver schedule checks
  • Shipment weight and vehicle capacity rules
  • Delivery zone matching and urgent order handling
  • Warnings for overlapping assignments
  • Manual reassignment with shipment history

Dispatchers could now check vehicle capacity and driver availability before assigning shipments. The system handled routine checks, while the dispatcher remained responsible for the final assignment.

We used Google Maps Platform to support route planning. Dispatchers could review the stops assigned to a vehicle and change their order before releasing the trip.

The route module considered delivery locations and the time windows entered against each shipment.

  • Multi-stop route planning using Google Maps Platform
  • Estimated travel distance and arrival times
  • Delivery time window checks
  • Route updates after shipment reassignment
  • Planned and completed trip comparisons

This was particularly useful when several deliveries were scheduled in the same district but had different receiving hours.

Drivers previously received a lot of trip details through WhatsApp. The new mobile app gave them a daily trip list with the details needed at each stop.

A driver could open a shipment and update the delivery without calling the office.

  • Daily trip assignments with delivery instructions
  • Navigation and shipment status updates
  • Recipient signatures and delivery photographs
  • Failed delivery reporting
  • Offline updates when mobile coverage is unavailable

Some delivery locations had unreliable mobile coverage. The app therefore saved pending updates on the device. Once the connection returned, the app synchronized the pending updates with the TMS. This helped keep delivery records available even when drivers worked in areas with poor network coverage.

The operations team needed to know which trips were progressing normally and which ones needed attention.

We connected driver location updates with the dispatch dashboard. WebSockets delivered new status information to the screen as it became available.

  • Active trips and latest reported driver locations
  • Planned and actual delivery status
  • Estimated arrival information
  • Completed trip history

Managers could investigate a delayed shipment directly in the dashboard instead of calling every driver on the route.

Location information was available only to authorized users and within the configured tracking rules.

A failed delivery previously created a chain of calls between the driver and dispatch office. We added an exception workflow to keep these cases visible.

If a customer was unavailable, the driver selected the reason in the app. The shipment then appeared in the dispatcher's exception queue.

  • Failed delivery reasons and supporting photographs
  • Rescheduling and shipment reassignment
  • Vehicle breakdown reporting
  • Overdue shipment alerts and manager escalation

Delivery confirmation was another part of the process that needed attention.

Earlier, drivers sent photographs and signatures to the office. The documents were sometimes received hours after the delivery itself.

The new driver app attached proof of delivery directly to the shipment.

  • Recipient signatures and delivery photographs
  • Delivery timestamps and permitted location details
  • Secure storage of delivery records in Amazon S3
  • Required confirmation checks before completion
  • Proof of delivery available to authorized office staff

Office staff could now find the delivery evidence through the shipment record.

The provider wanted to keep its existing ERP. It already contained customer accounts and handled invoicing.

We built an API layer between the TMS and the ERP so that shipment information could move between both systems.

A new delivery order entered the TMS for planning. After completion, the shipment status and proof-of-delivery reference were returned to the ERP.

  • Shipment imports through REST APIs
  • Customer order references retained
  • Delivery status and completed shipment updates sent to the ERP
  • Failed requests handled through retry queues
  • Duplicate update checks and integration error logs

The ERP continued handling financial records. Dispatch planning and delivery operations moved into the TMS.

Dispatchers needed to know when a shipment was delayed or a delivery attempt failed. We added automatic alerts so the team could respond without repeatedly calling drivers.

Customers could also receive configured delivery updates. Redis and BullMQ handled background notifications and retried failed requests.

  • New trips notify assigned drivers
  • Delayed deliveries appear in the dispatch dashboard
  • Failed attempts notify the operations team
  • Customers receive configured shipment updates
  • Completed deliveries trigger confirmation messages
  • Unresolved exceptions remain visible until reviewed

Redis and BullMQ handled scheduled jobs and retries when notification requests failed.

Driver proof of delivery (scans, signature, photo) and the customer tracking link
Dispatch console on a laptop cycling through the results: on-time deliveries, dispatch planning, utilization and status updates

Technology Stack

The transportation management system was developed using technologies that supported shipment processing and dispatch operations. The stack also helped connect the driver app with the existing ERP and manage delivery updates.

  • Web Console

    React

    Role in the System

    Dispatch planning and shipment monitoring

  • Driver Mobile App

    React Native

    Role in the System

    Trip management and delivery updates on iOS and Android

  • Backend Development

    Node.js, REST APIs

    Role in the System

    Shipment processing and communication with the existing ERP

  • API Management

    AWS API Gateway

    Role in the System

    Managing API requests and access

  • Database

    PostgreSQL

    Role in the System

    Storing shipment records and assignment history

  • Background Jobs

    Redis, BullMQ

    Role in the System

    Processing notifications and retrying failed requests

  • Maps and Routing

    Google Maps Platform

    Role in the System

    Mapping delivery locations and planning routes

  • Real-Time Updates

    WebSockets

    Role in the System

    Sending shipment status updates to the dispatch dashboard

  • File Storage

    Amazon S3

    Role in the System

    Storing delivery photographs and recipient signatures

  • Authentication

    OAuth 2.0

    Role in the System

    Managing secure user access through tokens

  • Cloud Infrastructure

    AWS EC2, RDS, S3, CloudWatch

    Role in the System

    Application hosting and system monitoring

  • Observability

    OpenTelemetry, Structured Logs

    Role in the System

    Tracking errors and monitoring backend services

Saudi-Specific Localization and Data Handling

The transportation management system was developed to support daily logistics operations in Saudi Arabia. It included Saudi address formats and Arabic and English interfaces. The system also supported local delivery schedules.

The system supported structured Saudi address details to help dispatchers manage delivery locations. Drivers could view the address linked to each shipment through the mobile app.

  • Structured Saudi delivery address fields
  • Address details linked to shipment records
  • Google Maps Platform for location mapping
  • Checks for missing address information

We developed Arabic and English interfaces for dispatchers and drivers. Arabic screens supported right-to-left (RTL) layouts, making the system easier for local teams to use.

  • Arabic RTL interface support
  • English language option
  • Delivery instructions in both interfaces
  • Shipment status updates across the web and mobile apps

The system supported Saudi mobile numbers using the +966 country code. Validation checks helped find all the incorrectly formatted phone numbers before they were used in delivery communication.

The scheduling module supported configured working days and Saudi public holidays. Dispatchers could consider these dates when planning deliveries and assigning vehicles.

The client wanted to continue using its existing ERP for customer accounts and invoicing. We connected the TMS with that system through APIs.

The TMS, once a shipment was completed, sent the delivery status and proof of delivery reference to the ERP.

We added access controls to protect customer and driver information. Staff could view shipment records based on their assigned roles.

  • Role-based access to shipment information
  • Restricted access to driver location details
  • Encryption and data retention controls, where implemented
  • Shipment activity records for operational review

Development Process

  1. Operations Assessment

    We worked with the dispatch team to know how shipments were assigned and tracked. We also checked the current ERP's existing order management capabilities with the customers.

  2. Workflow Planning and System Design

    We worked with the team to map the process of shipments and how the TMS would communicate with the ERP. The existing system for billing was kept.

  3. TMS Development

    We developed shipment management and vehicle allocation first. Route planning was added after the dispatch rules had been tested.

  4. Driver App Development

    The mobile app allowed drivers to receive all updates. We also tested how the app handled interrupted connections and offline records.

  5. ERP Integration and Testing

    Shipment imports and delivery status updates were tested with the existing ERP. Reviewed rejected requests and redundant changes.

  6. Pilot Testing & Rollout

    A sample of dispatchers and drivers participated in normal deliveries using the system. Their feedback has helped us make adjustments prior to implementing the TMS with other teams.

Measurable Results

  • On-time deliveries increased by 35% within six months of rollout

  • Daily dispatch planning time decreased by 64%

  • Vehicle utilization improved by 28%

  • Manual shipment status calls fell by 72%

  • Proof-of-delivery processing went from 4 hours to under 10 minutes

  • Dispatch assignment errors decreased by 61%

  • 98% of active trips became visible in the operations dashboard

  • Customer enquiries about delivery status decreased by 43%

Client Testimonial

— Operations Director, 3PL Provider, Riyadh

We collaborated with Code Brew Labs to improve how we managed our daily shipments. Earlier, our dispatchers spent a lot of time checking driver availability and following up on deliveries. Their team understood these problems and developed a system that worked with our existing ERP. Now, our dispatchers can track shipments and handle delivery issues without making so many calls.

Still Managing Deliveries Through Spreadsheets and Driver Calls?

Code Brew Labs can help you develop transportation management software that works with your existing ERP and daily dispatch operations.

Get a Free Quote
Contact Us

Ready To Fuel Your Vision With AI-Powered Innovation?

Our Presence

Level- 18, Dubai World Trade Centre Tower, Sheikh Rashid Tower, Sheikh Zayed Rd, Dubai, UAE

business@code-brew.com +971-55-645-7972

Plot no I - 36, Sector 83 Alpha, Mohali SAS Nagar 140308

business@code-brew.com +91-771-976-8427

Al Akaria 2, 6926 Olaya Street, RHOA2566, Riyadh, Saudi Arabia.

business@code-brew.com

Av. Miguel Hidalgo y Costilla 1995, Arcos Vallarta, 44600 Guadalajara, Mexico

business@code-brew.com +1(213)2614953

4231 Balboa Ave #512 San Diego, CA 92117 United States

business@code-brew.com +1(213)2614953

2nd floor, College House, 17 King Edwards Rd, London HA4 7AE, UK

business@code-brew.com +44 (20) 82644493

Partner With Experts Who Leverage AI & Tech To Transform Ideas Into Market-Leading Solutions.

Wait! Looking for Right Technology Partner For Your Business Growth?

It's Time To Convert Your Business Idea Into Success!

Get Free Consultation From Top Industry Experts:
gif
I would like to keep it to myself