I built an app to generate Payment QR Codes for M-PESA
Here’s a crazy stat for you:
In Kenya, people spend an average of 3–5 minutes per transaction just reading out numbers and confirming payments through M-PESA (Kenya’s mobile money giant).
Multiply that by 30 million daily transactions, and you get…
150 million minutes wasted. Every. Single. Day
That’s 285 years of human life spent reading numbers out loud. Daily.
But here’s where it gets interesting…
The “Aha” Moment 💡
I was standing in line at Naivas (think Walmart of Kenya) when I noticed something different — a QR code at checkout. Scan, pay, done. No numbers, no confusion, no wait.
It was beautiful. But then I looked around and realized something:
The QR codes were nowhere else to be found. Not at the local food stands, not at government offices, not even at other major retailers.
Why?
Because nobody knew they could use them. The feature was buried in the M-PESA app like a forgotten treasure.
The Weekend Project That Followed 🛠️
So I did what any curious developer would do — I reverse-engineered the QR codes.
Turns out, they were surprisingly simple. They just contained the payment details that people usually read out loud:
- Business Number (Called Till or Paybill in Kenya)
- Account Number (Optional)
- Amount (Optional)
Three days of coding later, pesaqr.com was built.
It’s:
- Free
- Works offline
- Open source
- Takes <15 seconds to generate a QR code you can pay
The Real-World Test 🧪
Instead of building in isolation, I hit the streets. Here’s what happened:
1. The Smokie Guy: A street food vendor in Nairobi’s CBD. He loved it because he could focus on grilling while customers paid themselves. No more burnt smokies because he was busy reading out numbers.
2. The Clothes Seller: A merchant near KTDA plaza. One A4 printout from a cyber cafe, and his payment process went from 3 minutes to 30 seconds.
The Big Picture 🎯
This isn’t just about QR codes. It’s about seeing the obvious solutions hiding in plain sight.
M-PESA had this feature all along. But sometimes innovation isn’t about building something new — it’s about making the existing stuff actually work for people.
Key Takeaways 🔑
1. The best opportunities are often hiding in plain sight. The feature existed, but nobody made it accessible.
2. Start small, start now. This entire project cost $20 (domain name + hosting) and a weekend of coding.
3. Real-world testing beats theorizing. The street vendors taught me more in 2 hours than a week of thinking could have.
4. Impact > Complexity. Sometimes the simplest solutions can save millions of hours of human time.
What’s Next? 🚀
The code is open source because the goal isn’t to build a business — it’s to solve a problem. If you’re a developer, you can build on top of it. If you’re a business owner, you can start using it today.
Sometimes the best innovations aren’t about disrupting industries or raising millions in VC funding.
Sometimes they’re just about making life a little bit easier for the smokie guy on the street.
And that’s worth more than any exit could ever be.
— -
If you enjoyed this article, follow me for more stories about technology, entrepreneurship, and finding opportunities in unexpected places.