Building for Kenya: UX Lessons from 50K+ Users
We've shipped software used by over 50,000 Kenyans across ticketing, logistics, water vending, and finance. Here are the UX lessons that surprised us, things you won't find in a Western product design blog.
Mobile First Means Truly Mobile First
Over 85% of Kenyan internet users access the web on mobile, and a significant portion use mid-range Android phones, not the latest iPhone. That 4MB hero image? Broken for half your users before they even see it.
Design for a 4G connection that drops to 3G mid-session. Test on a KES 8,000 Tecno, not a MacBook. Every extra second of load time costs users, Kenyans are quick to abandon slow apps. Compress every image (use WebP), lazy-load below-the-fold content, avoid heavy JavaScript for simple pages, and cache aggressively at the CDN level.
M-Pesa is the Only Payment That Matters
We've shipped apps with M-Pesa + Visa + PayPal payment options. The split is consistently 90%+ M-Pesa. Cards are used by a small urban elite. PayPal is nearly zero for local transactions.
Don't bury M-Pesa as one of five options. "Pay with M-Pesa" in green should be the primary CTA. The STK Push flow is universally understood, users know what to do when they see "Enter M-Pesa PIN." Don't reinvent this interaction. Lean into the familiar pattern.
SMS Over Email, Every Time
Email open rates in Kenya are low. SMS open rates are near 100%. For booking confirmations, payment receipts, delivery notifications, SMS is the channel that gets seen.
WhatsApp is even more powerful if you have the Business API. Kenyans live on WhatsApp. A WhatsApp message with a QR ticket or delivery tracking link converts better than any email ever will. Build SMS as a first-class notification channel from day one. Africa's Talking is the most reliable SMS gateway for Kenya.
Design for Real Literacy Levels
A significant portion of users may have limited English literacy, especially for mass-market products or rural deployments. Use icons alongside text labels. Keep button copy short and action-oriented, "Initiate Payment" should be "Pay Now." Avoid jargon entirely.
Swahili support matters for certain markets. For SACCOs, market traders, or rural utilities, Kiswahili UI increases adoption meaningfully. We've seen 30% better conversion on USSD flows when Swahili is the default language.
USSD is Not Dead
Feature phones still command a significant share of the market, especially outside Nairobi. USSD (*XXX#) flows are how millions of Kenyans interact with M-Pesa daily, the pattern is deeply familiar and trusted.
For utility payments, water vending, and financial products targeting mass market users, a USSD interface isn't optional, it's where half your transactions will come from. USSD flows must be ruthlessly short. Every extra screen costs users airtime. Get to the payment step in 3 screens or fewer.
Build for Unreliable Networks
Connectivity in Kenya is improving but still unreliable, especially outside Nairobi. Bodaboda riders using your delivery app will enter tunnels, basement parking, and low-coverage zones mid-job.
Critical actions, accepting a job, submitting proof of delivery, completing a payment, must work offline and sync when connectivity returns. We build offline-first into every field-worker app by default. The cost is modest; the reliability improvement is massive.
Trust Signals Are Non-Negotiable
Kenyans have been burned by online fraud, fake stores, fraudulent betting platforms, advance fee scams. Trust signals that feel obvious to Western designers are genuinely important here: a visible phone number (not just an email form), physical address, real photos, and the M-Pesa Paybill number displayed openly.
If you're building a payments product, show users exactly where their money is going. Be explicit about the Paybill number, the business name on their M-Pesa statement, and what happens if something goes wrong. Transparency converts.
Need software built?
Tell us what you need. We respond within 24 hours with a realistic quote.