How a delivery company cut dispatch time to under 10 seconds on Amazon ECS
A last-mile delivery company in Lagos moved dispatch and tracking to containers on AWS. Assigning a delivery now takes under 10 seconds instead of about 45, and releases ship every two weeks instead of every quarter.
The problem.
Our client is a last-mile delivery company in Lagos. Its platform assigns deliveries to riders and drivers and keeps shippers and recipients informed about where their parcels are. Dispatch speed and tracking accuracy drive its on-time delivery rate.
The old dispatch and tracking service was slowing the business down. Assigning a delivery took about 45 seconds, so dispatchers lost time on every order at the busiest points of the day. Tracking relied on polling every 30 to 60 seconds, so shippers and recipients saw location updates late.
Releases were slow and risky. The company deployed once a quarter, and about one in five deployments caused a failure. When something broke, recovery took about four hours. The company needed faster dispatch, near-real-time tracking, and a way to ship improvements often and recover quickly. The change also altered how dispatchers work each day, so its people had to be ready for the new tools too.
What we built.
Containers on AWS Fargate
We moved the service into containers on AWS. An Application Load Balancer receives HTTPS traffic and routes it to the application, which runs on Amazon ECS with AWS Fargate. We chose Fargate so the team has no servers to manage. Amazon RDS for PostgreSQL holds operational data, and Amazon S3 provides object storage.
Encrypted and audited
Traffic is encrypted in transit. The load balancer uses a TLS 1.3 policy with certificates from AWS Certificate Manager and redirects HTTP to HTTPS, and the database accepts only encrypted connections. The root account has MFA, and AWS CloudTrail records activity across Regions to a dedicated bucket.
Automated releases
AWS CodePipeline orchestrates each release. AWS CodeBuild builds and tests the application, and the container images go to Amazon ECR before they are deployed to Amazon ECS. That automated path let the company move from large quarterly releases to smaller, more frequent ones.
Infrastructure as code
AWS CloudFormation defines the resources, so environments can be reproduced and changes are reviewed before deployment. AI coding assistance helped write the templates, and AI code review checked pull requests. Amazon CloudWatch collects load balancer and application metrics so the team can track dispatch response times.
Ready people, not just a ready platform
An executive sponsor tied progress to delivery targets, including on-time rate and dispatch time, and reviewed them monthly. The company reviewed its shipper service agreements and its duties for handling location data, and added audit logging and a data retention policy. Finance set up budgets for each environment and a cost report for each business unit. Dispatcher roles were updated, staff were trained before rollout, and each depot had a named change champion. Account managers were briefed on the new tracking and notification features before release, so they could explain them to shippers.
AWS services in this engagement
The results.
Assigning a delivery takes under 10 seconds, down from about 45, measured with CloudWatch load balancer and application metrics. Location updates arrive in under 5 seconds, compared with 30 to 60 seconds under polling. The company releases every two weeks instead of every quarter, based on its CI/CD history.
The change failure rate is under 7%, down from about 20%, and recovery takes about one hour, down from about four, based on the on-call log. About 85% of dispatch staff were active on the new tools within six weeks.
What we learned: new tools only help when people use them. The role changes, the training before rollout and a named change champion at each depot are what brought most dispatchers onto the new system within six weeks. Briefing account managers early also meant shippers heard about new features from people they already knew. We now plan the people work alongside the build, not after it.
Tell us what you're trying to ship.
A 30-minute scoping call with the engineers who would do the work.