Case study · Qafila Express · Logistics
A routing platform that handles peak season without a war room
Qafila’s routing engine fell over every November sale. We rebuilt it as event-driven services on their existing cloud, shipping the first slice in five weeks.
Results
- cloud spend
- −38%
- peak throughput
- 4×
- availability in peak 2025
- 99.98%
- weeks to the first slice in production
- 5
The challenge
Qafila Express delivers around 400,000 parcels a day across the UAE and Oman, and 750,000 a day during the November sales and the last ten days of Ramadan. Every one of them is routed by a single Java application written in 2012, running on a handful of very large virtual machines.
For three November sales in a row the routing engine slowed to a crawl under peak load. Drivers left depots late, the operations team ran a war room for weeks, and the cloud bill kept rising as the team added bigger machines to buy time. A full rewrite had been quoted at two years. Qafila had eleven months until the next peak.
Our approach
We started with a two-week discovery at the Dubai South hub and with the platform team, and agreed one measure of success: route plans for every depot ready by 04:30 on the busiest day of the year.
Instead of rewriting the engine, we pulled out the slowest part first. Address matching, never easy in a city where parcels go by landmark and building name, moved into its own service behind an event stream, running alongside the old code with results compared parcel by parcel. It went live for two depots in week five and for the whole network in week nine.
Route optimisation and depot capacity followed the same way. By September the old application only handled label printing, and the team had load-tested the new platform at four times the previous year’s peak. We then handed over to Qafila’s eleven engineers with a month of pairing.
Seven Kestrel people worked on it for eleven months: a principal engineer, tech lead, four senior engineers and a delivery lead.
The stack
Chosen with the client’s team so they could hire for it and run it after we left.
-
Languages and frameworks
Kotlin for the new services, the language Qafila’s team already knew best.
-
Infrastructure
Qafila’s existing cloud account, now defined entirely in code.
-
Data and messaging
An event stream between services, so each one scales on its own.
They behaved like owners from day one. Peak season was the quietest it’s ever been.
More work
All case studies-
Ruwaq BankFinancial services
Moving a 15-year-old payments core to the cloud, one slice at a time
- minutes of downtime
- 0
- months to full cutover
- 9
-
Ghaf MarketsRetail
A new stock app that store teams actually like using
- on-shelf availability
- +22%
- staff app rating
- 4.7
-
Marfa FreightLogistics
Four engineers who turned a firefighting team into a platform team
- production incidents
- −61%
- average time to recover, down from 3 hours
- 25 min
Facing something similar?
Tell us where it hurts. A partner replies within one working day with a few honest options.