TaniAfrika is a two-sided mobile marketplace for on-demand truck hire in Kenya. On one side, someone hires a truck and driver for a specific job. On the other, pickup and canter owners find work and get paid fast. It ships as a responsive PWA.
The pitch deck said the product had no competition. That framing was wrong, and correcting it changed the whole brief. The real competition was never another app. It was the estate WhatsApp group.
Design Director & Senior Product Designer, with Vanessa (design), Faith (PM), Nicolas & Wilfried (dev)
On-demand logistics, Kenya
Research, brand, IA, wireframes, prototype
Ongoing, launch pending
TaniAfrika arrived with a pitch deck, a working backend, an internal dashboard already built, and confidence that app-based trucking for household moves was open territory. Their line was clean: the only competitors were brokers at stage centres with a phone number.
That framing was not going to survive contact with the market, so before building anything I interrogated it. "No competition" almost always collapses under two searches, and this was no exception.
The named rivals did not hold up. Checked against its own live site, each one turned out to be something other than a consumer trucking marketplace.
Its homepage now talks about connecting manufacturers and distributors to supermarkets nationwide, with Unilever Kenya as a partner. Whatever it was in 2020, today it is a B2B supply chain platform.
The homepage says "App Coming Soon." The copyright reads 2019. It runs as a dispatch business, not a marketplace app.
Bamm Tours is a tours company with a truck-hire side service. Famio is B2B logistics for farm products. Pickuplorry does not load reliably.
Technically defensible for the app category. But defending the wrong category was the whole danger, because it hid where the real fight was.
The "no competition" claim was true for apps and useless for strategy. It missed the real competition completely.
The person hiring a truck in Nairobi today is not comparing app options. They are texting the estate WhatsApp group, asking a colleague who moved last year, or walking to the local stage to find a guy with a canter.
That single reframing set the brief. From there, every decision had to earn a place in a workflow currently held by a family friend with a canter.
The pitch positioned the target as "lower middle class." That is a label, and labels are imprecise and useless for design decisions. I redefined the segment by behaviour: someone who packs their own belongings but cannot do the moving themselves. In practice that covers:
This person packs their own gunias and boxes. They need a truck, a driver they can trust, a fair price, and the truck to actually show up. That is the whole brief. We are not selling white-glove service. Aspirational framing works against this segment. Warmth and dependability work with it.
Because the marketplace is two-sided, I built a persona for each side. Both are grounded in desk research, and every detail is labelled as a hypothesis to test at launch, not a claim of fact.
32, married with a young child. Supervises at a supermarket in the Nairobi CBD, earns KES 55,000 a month. Techno Camon 20 on Android 13. Moving from Kahawa Wendani to Ruiru because the rent is KES 4,000 cheaper.
Her fears42, owns a 1997 Isuzu NKR canter he bought second-hand. Works out of a stage in Roysambu. He is on the platform for a working day and a predictable income, not for an app experience.
His concernsFive principles came out of the research. Each one is testable against a specific screen.
There is a version of TaniAfrika that ships slim. Sign up, book, pay, done. It is what most seed-stage founders default to, and what a fast launch calendar asks for.
What we gave up: speed to first launch. What we bought: a launch that investors and users can actually trust. In a marketplace where movers pay strangers to handle their belongings and drivers depend on the platform for a working day, trust is not a feature you add later.
For brand direction I studied the brands this segment already trusts with money. M-Pesa, Safaricom, KCB, Equity, Naivas, Fuliza. The pattern is not subtle. Green signals trust and money in Kenya, and not just any green: deep, saturated, dependable greens. Sans-serif type, clear hierarchy, real photos of ordinary Kenyans, price and benefit shown plainly. Nothing that reads as premium or aspirational.
I presented three directions to the team.
Deep green, amber accent, cream ground. Onest for display, DM Sans for body. The voice of a neighbour with a truck who happens to have a well-built app. My recommended direction, and the one the team is leaning toward.
Deep navy with safety yellow, Work Sans for display. Reads as a well-made tool. Confidence through function, not decoration.
Maroon and gold, Plus Jakarta Sans for display. Highest short-term risk, highest ceiling if the brand ever needs to stretch beyond Kenya.
Reliable Neighbour matches how this user already reads money and safety. The other two are strong, but they ask the user to trust a look they have not been taught to trust yet.
The green does quiet work before a word is read. It says money is handled properly here, borrowed straight from the apps this user already pays with every day.
Once research was signed off, the structure came next. It covers 81 mover screens across 12 sections and 85 driver screens across 13 sections.
Screens across two PWAs, 81 on the mover side and 85 on the driver side.
Flows diagrammed, from a first booking all the way through to driver payout.
States enumerated for every screen: empty, loading, error, offline, success.
Three primary flows, four cross-cutting mechanics, seven secondary flows.
The four cross-cutting mechanics are the M-Pesa escrow release, the bid mechanic, the waiting timer with its grace period, and SOS activation. The seven secondary flows cover cancellation, no-show handling, disputes, rating and rebooking, preferred drivers, referral, and driver earnings. No screen ships in an incomplete state.
Wireframes are underway. Visual design against the chosen direction follows, then the prototype. Launch will trigger the validation phase: exit surveys after a first booking, driver check-ins after a fifth trip, and rating-flow completion tracking. Every hypothesis in the research gets tested against real behaviour.
This case study covers the process and thinking to date. I will update it with real screens, real behaviour, and real numbers once the product is live.
Taking the pitch at face value would have shipped the wrong strategic position. Two searches corrected the framing. That is the value a design director brings before pixels move.
"Someone who packs their own belongings but cannot do the moving themselves" is a sharper brief than any income band, and it respects the user while it does the work.
In a two-sided marketplace, trust is the whole product. Every decision either builds it or erodes it, and once eroded, no v1.1 wins it back.