Apps people keep on their phone.
iOS and Android apps for your customers, riders and field teams, with M-Pesa built in and a back office to run it all. Built in Flutter or React Native on Laravel APIs, published to the stores and looked after by us.
Good for Ordering and delivery · Field sales teams · Member apps · Booking apps · Loyalty and rewards
An app, and everything behind it.
Most of the work in a good app is the part customers never see: the back office, the payments, the messages and the updates after launch. We build all of it.
iOS and Android from one build
Flutter or React Native, so both stores get the same app and updates ship together.
Works on a weak signal
Screens load from the phone first and sync when the connection returns, so no order is lost.
M-Pesa built in
STK push at checkout through Daraja, with card payments and refunds matched to each order.
A back office to run it
Orders, customers, riders and payments managed from one web console your team logs into.
Push, SMS and WhatsApp
Order updates and offers on the channel each person reads, with opens and orders tracked.
Store launch and updates
App Store and Play Store listings, reviews, crash reports and regular updates handled.
Where your team runs the app.
Every app we build comes with a web console for the people behind it. Pick a module to see what your operations team works from while customers and riders use their own apps.
Try it: open a module from the menu, click a record, filter the list, or press and save.
No records match.
New orders
No records match.
New customers
No records match.
New riders & field staff
No records match.
New payments
No records match.
New push & messages
Orders
Every order placed in the app, from checkout to the customer's door.
- Live order board by status
- Stock and prices pushed to the app
- Orders assigned to the nearest rider
- Refunds and cancellations logged
Customers
Who downloaded, who orders again and who has gone quiet.
- Profiles with full order history
- Segments by area, spend and habit
- Loyalty points and referral codes
- Consent kept for the Data Protection Act
Riders & field staff
Riders and field teams on the map, with every drop and visit proved.
- Live location during deliveries
- Photo and signature on delivery
- Routes and drops planned for the day
- Pay worked out per drop
Payments
M-Pesa and card payments matched to orders, refunds and rider cash.
- M-Pesa STK push at checkout
- Card payments and refunds
- Daily settlement report
- Cash on delivery tracked per rider
Push & messages
Push notifications, SMS and WhatsApp that bring people back to the app.
- Order updates sent automatically
- Offers sent to chosen segments
- SMS when a push is not delivered
- Opens and orders tracked per message
Like what you see? Let us build yours.
We walk you through it on a call, map how your business works, and send a fixed-scope proposal in writing.
Custom built, not off the shelf. Every system we build is made to fit the client's needs: the modules, screens, wording and reports follow how your organisation works. The business, names and figures in this demo are examples.
Every order, live.
Every order placed in the app, from checkout to the customer's door.
- Live order board by status
- Stock and prices pushed to the app
- Orders assigned to the nearest rider
Riders routed, proof on the phone.
Riders and field teams on the map, with every drop and visit proved.
- Live location during deliveries
- Photo and signature on delivery
- Routes and drops planned for the day
M-Pesa, built in.
M-Pesa and card payments matched to orders, refunds and rider cash.
- M-Pesa STK push at checkout
- Card payments and refunds
- Daily settlement report
Built by us, in use today.
Peni Africa and Uwitu run on platforms we built and host. We also build, host and support our own products, including DaimaFund for chama banking and MoyoMatch for matchmaking, so we know what it takes to keep an app running long after launch.
In the stores in 21 working days.
- 01Days 1 to 3
Map the journeys
What customers, riders and your team each need to do, and what the app must connect to.
- 02Days 4 to 7
Design and click through
Screens designed for both platforms, then a clickable prototype tested with real users.
- 03Days 8 to 19
Build and test
App, back office and APIs built in sprints, and tested on low-cost and high-end phones.
- 04Days 20 to 21
Publish and look after it
Store listings and approval handled, then crash monitoring, updates and support.
Tools we use Flutter · React Native · Laravel APIs · Firebase · M-Pesa Daraja · Airtel Money · Expo · Google Maps
Before you ask.
Flutter, React Native or native?
For most apps, Flutter or React Native gives you iOS and Android from one codebase, which means one budget and updates that ship together. If you need heavy use of the camera, Bluetooth or other device features, we write those parts natively in Swift or Kotlin.
Will the app work without a signal?
Yes, where it matters. Screens and recent data are stored on the phone, actions taken offline are queued, and everything syncs when the connection returns.
Can customers pay with M-Pesa in the app?
Yes. We use Safaricom Daraja for STK push, so the customer confirms on their phone with their PIN. Payments are matched to the order automatically, and cards and Airtel Money can sit alongside.
Do you publish it to the App Store and Play Store?
Yes. We prepare the listings, screenshots and privacy details, take the app through review and publish every update. The apps sit in your own developer accounts, so you own them.
What does an app cost?
It depends on the screens, the back office and what it connects to. After a free scoping call you get a fixed-scope proposal in writing, so you know the price before we start.
Let's plan your app.
A free scoping call, then a fixed-scope proposal in writing.
