Case Study · Logistics · B2B · Mobile

Bringing Order to Last-Mile Delivery for Kenyan SMEs

Role
Product Designer
Platform
Android
Type
0 → 1 Product Build
Market
Kenya
Overview

Building the driver experience from the ground up

Roundi is a last-mile delivery management platform built for Kenyan SMEs: restaurants, e-commerce stores, and retail businesses that handle their own deliveries but lack the tools to do it efficiently. Think route optimization, live rider tracking, and real-time ETAs, all in one place.

I was brought in to design the driver-facing mobile app, the tool that riders use on the ground every day. This was a 0→1 product build: no existing designs to reference, no legacy patterns to follow. Everything from the onboarding flow to the delivery confirmation screen was designed from scratch.

How do you design a delivery app for Nairobi riders; who are on the move, on low-end Android devices, in high-traffic conditions that actually makes their day easier?

The Context

The reality of last-mile delivery in Nairobi

Designing for Nairobi riders meant designing for very real constraints,not just user preferences. These weren't hypothetical edge cases; they were the daily reality for every rider the app needed to serve.
Low-end Android devices
Most riders use budget smartphones. The app had to be lightweight, fast, and functional on limited hardware.
Variable connectivity
Nairobi's network coverage drops in certain zones. Offline-tolerant states and graceful degradation were non-negotiable.
Eyes-off usage
Riders glance at their phones mid-route. Large tap targets, minimal reading, and audio cues were essential design principles.
Users

Two users. One product. Very different needs.

While I was designing the driver app specifically, the product sits inside a larger ecosystem with two distinct users and understanding both helped me design the driver experience to complement what businesses needed on their end.
The Rider
Primary user of the driver app
  • Know exactly where to go and in what order
  • Confirm deliveries quickly without friction
  • See earnings clearly and in real time
  • Get support when something goes wrong
The SME
Business admin dashboard user
  • Track all riders and deliveries in real time
  • Reduce failed and late deliveries
  • Hold riders accountable without micromanaging
  • Keep customers updated automatically
Design Process

From zero to a full driver experience

With no existing product to build from, I started by mapping the complete rider journey, every touchpoint from logging in for the first time through to completing their last delivery of the day.
01
Onboarding

Sign up, ID verification, profile setup

02
Go Online

Toggle availability, location active

03
Accept Job

View details, accept or decline

04
Navigate

Route guidance, stop order

05
Confirm

Photo proof, signature, OTP

05
Earnings

Daily summary, payout history

Design Considerations

Designing for the Nairobi constraint stack

Low bandwidth states: Every screen was designed with a loading and offline state, so riders aren't left staring at a blank screen when data drops. Core delivery info is cached locally.

Low-end device performance: No heavy animations, no complex UI layers. The design system prioritised flat, performant components that render fast on budget hardware.

Minimal reading required: Icons, colour, and spatial hierarchy do the heavy lifting. A rider shouldn't need to read a sentence to understand what to do next.

One-handed use: All primary interactions sit in the bottom third of the screen, reachable with a thumb while the other hand holds the handlebar.
Reflections

What building for the field taught me

Context is the brief: A rider on a bodaboda in Nairobi traffic is not the same as a user sitting at a desk. Designing for their real context, not an idealized one, produced better decisions at every step.

0→1 demands first principles: With no existing product to reference, every decision had to be justified from the ground up. It sharpened my ability to reason about UX choices rather than just follow convention.

Failure flows are product design: How an app handles things going wrong defines the product just as much as the happy path. I spent as much time on error states and failed deliveries as on the core flow.

Dignity in design: Riders are professionals doing skilled work in tough conditions. The app needed to feel like a tool that respects them, not something that surveils or pressures them.