Rebuilding last‑mile delivery for Mexico's retail giant.
We rebuilt Soriana's driver app from the ground up — taking on‑time delivery from 3% to 91% across 824 stores, with 450 drivers in production and 300 more on the way.



Soriana asked us to rethink the daily tool of 450 delivery drivers — and to do it without disrupting a network already running 824 stores.
The previous app was non‑native, slow on the cheap Android handsets the fleet uses, and kept drivers fighting the interface instead of working with it. Drivers skipped confirmation steps, GPS pings dropped, and on‑time performance hovered at 3‑4%.
The brief was simple but pointed: build something native, fast, and offline‑resilient. Make it integrate cleanly with Soriana's existing supply‑chain systems on day one. And make sure the architecture has room for new features — proof of delivery, dynamic re‑routing, fleet analytics — without rewrites down the line.
02 / What we built
Three screens drivers actually want to open.
We rebuilt the workflow around how a driver thinks during a route — not the structure of an order in a database. Every primary action is one tap, in thumb reach.
02 — Order detail
Address, items, payment — confirmed in a single thumb pass.
The “Iniciar entrega” CTA sits exactly where the right thumb lands. Late and delayed orders are flagged inline so drivers prioritize without thinking.
03 — Trip builder
Bulk‑select late orders and pack them into a single trip.
Built for the moment a driver pulls up to a store and needs to claim multiple delayed orders fast. Selection state is offline‑safe and survives bad signal.
03 / How we worked
From kickoff to nationwide in 12 months.
Weeks 1‑3
Discover.
We rode along on real routes, audited the legacy app on driver hardware, and mapped the integration surface with Soriana's supply‑chain stack.
Weeks 4‑10
Design.
A driver‑first IA, one‑handed thumb zones, and a working prototype tested in four cities before a single line of production code shipped.
Weeks 11‑38
Build.
Native Android in Kotlin, offline‑first sync, Maps SDK, and tight back‑end integration. Two‑week sprints, demos every Friday, regional pilots from week 22.
Weeks 38‑52
Roll‑out.
Phased nationwide release across 824 stores. 450 drivers onboarded in three regional waves with on‑site support and live telemetry feeding the next sprint.
04 / Stack
Every choice earned its place.
No frameworks for the sake of frameworks. Each tool was picked for one specific reason — usually a constraint of the route or a piece of Soriana's existing infrastructure.
Android SDK
Native performance on the cheap handsets the fleet actually uses.
Kotlin
Modern language; null‑safety mattered for a route‑critical app.
Java
Bridges to legacy Soriana services without rewrites.
REST APIs
Simple integration with existing supply‑chain endpoints.
Maps SDK
Deep Maps integration for routes, geofences and ETA logic.
Firebase
Crash reporting and remote config for safe regional rollouts.
SQLite
Local persistence for offline‑first behavior on bad signal.
Git
Trunk‑based dev with feature flags for staged releases.
Adobe XD
Driver‑tested design files with one‑handed thumb zones.
05 / Outcome
A 12‑month rebuild, measured against itself.
Every metric that mattered to Soriana — delivery quality, driver behavior, customer perception — moved in the right direction within the first quarter of rollout.
DaCodes doesn't just deliver what we ask for — they anticipate our needs and propose solutions we hadn't even considered. It feels like a true partnership.
Got a 3% problem of your own?
Tell us what's broken in your delivery, your platform, or your roadmap. We'll come back with a plan, not a pitch.