✳ Nairobi, Kenya
- WhatsApp+254 799 756 331
- Emailhello@muvevi.com
- LinkedInlinkedin.com/in/muvevi
- GitHubgithub.com/mutua-muvevi
- Twitter / X@muvevi
Available for freelance & full-time roles.
Let's build something great.
What I learned shipping a SaaS MVP in Kenya
Payment integration, mobile-first infrastructure, and why your onboarding flow needs to work on a 5-year-old Android. Lessons from the first six months.
Building a SaaS in Kenya is building a product for a specific set of constraints that most startup playbooks don't account for. The lessons below came from shipping a B2B SaaS for small businesses in Nairobi over six months.
M-Pesa is not optional. Cards are used by maybe 15% of the population consistently. If your payment flow doesn't include M-Pesa STK push, you're blocking 85% of your potential customers at the checkout step. Daraja API integration is non-negotiable but not as hard as it looks — the STK push flow (initiate from server, wait for callback, poll until confirmed) takes a day to implement once you understand the callback model.
The subtlety: M-Pesa callbacks are not guaranteed to arrive. Daraja can time out, callbacks can fail silently, and the user's phone can lose network mid-transaction. You need a reconciliation job that polls transaction status for any payment stuck in "pending" after 3 minutes.
Mobile-first is table stakes — but "mobile" means something specific. It means 720p screens, 2–3GB RAM, and Chrome Mobile on Android. Safari on iOS is a minority use case. The common mobile-first mistake is testing on your own iPhone and calling it done. Test on a mid-range Android (Tecno Spark or Samsung A-series), on slow 3G (use Chrome DevTools network throttle), with 20 browser tabs open. If the app doesn't degrade gracefully there, it doesn't work for your market.
Local data residency questions come early. Two enterprise leads I talked to in month four asked where the data was hosted before they asked about features or pricing. "AWS us-east-1" is not a satisfying answer for an SME that's been burned by foreign exchange volatility. I pivoted to Render + DigitalOcean with a data processing addendum that answers "where does my customer data live." It's not a legal document I paid a lawyer for — it's a one-pager that addresses the question directly.
The onboarding drop-off is dramatic. Our activation rate (users who completed onboarding and performed the core action within 7 days) started at 22%. Three changes moved it to 58%: 1. Cut onboarding from 7 steps to 3 2. Pre-filled every field we could derive (name from auth, company from email domain lookup) 3. Added WhatsApp support during onboarding — not a chatbot, a real number that goes to my phone
The third change had the biggest impact. People don't read documentation but they will send a WhatsApp message. Meeting them there instead of sending a generic "you haven't logged in" email was the difference between lost users and retained ones.