Mobile app development in South Africa, for iPhone and Android
I build mobile apps for iPhone and Android using Flutter, which means one set of code runs on both. That keeps the build and the upkeep more affordable than paying for two separate apps. I work with founders and organisations who have an app idea, or who have a community scattered across WhatsApp groups and need one place to bring it all together.
Start a conversationOne app, both kinds of phone
Flutter lets me write the app once and release it on both iOS and Android. It's faster to build, easier to maintain and still feels smooth to use. For most small businesses and organisations, that's the sensible choice.
I learned this the hard way. When I started building Stuurmy, I used Kotlin, which only targets Android. A few weeks in I realised I was cutting out every iPhone user, so I deleted the code and started again in Flutter. It hurt, but it was the right call, and it's why I recommend Flutter today.
From scattered chats to one place
As CTO at Value Ed, I inherited a familiar problem. Session information lived in WhatsApp groups, and announcements got buried under everyday messages. Members had to ask around just to find out when the next session was.
I built the Value Ed app to fix that. Members open it to a calendar of upcoming sessions and events. Fifteen minutes before a session, a push notification reminds them. One tap takes them straight into the Zoom room. Instead of building a second database that would drift out of sync, the app pulls its information from Value Ed's existing Wix website, so one update shows up everywhere. I brought in a UX/UI designer to shape the screens while I focused on making the technical side sound.
Apps that do real work in the background
Stuurmy was a home services app. A customer picks a service, such as cleaning, gardening or a car wash, and a map searches for the nearest available provider. If that provider doesn't respond in time, the request moves on to the next closest person. Firebase handled the messages, crash reports, data and the logic running on the server.
I'll be honest about how it went: Stuurmy reached testing with 5 service providers and 17 customers, then stalled and never fully launched. The technology worked. The lesson I took from it was to get a working version into real hands early and improve it from real feedback, instead of polishing in private. I bring that into every app I build now.
Thinking about running costs, not just launch
Every app has costs that carry on after launch: servers, notifications, maps. On Stuurmy, every live location update hit the database, so I spent weeks finding the balance between feeling live and staying affordable. On Value Ed, tools like Firebase and the existing Wix site were chosen so the app would stay cheap to keep running.
I'll walk you through these trade-offs before you commit, so there are no surprises later.
From idea to app store
We start with discovery to understand your users and goals, then plan the features and milestones. Next come wireframes and a clickable prototype you can react to before any real building starts. Development happens in short cycles with regular demos, followed by testing, including testing with your own users. Then I handle launch and app store submission for iOS and Android, and stay on for support.
Before freelancing, I worked on mobile apps at Argility using Ionic, including moving apps from one push notification provider (OneSignal) to Firebase, so I know what keeping an app alive over time involves.
“Working with Mpumelelo has been outstanding. His expertise, swift responses, and commitment to resolving our tech issues have been invaluable. I highly recommend him for anyone seeking dependable and effective tech support.”
What you get
- A Flutter app for both iPhone and Android
- Wireframes and a clickable prototype before building starts
- Login, data storage and push notifications (Firebase or Supabase)
- Connections to what you already use, such as your website, Zoom or maps
- App store submission for iOS and Android
- Documentation, source code and optional ongoing support
Related case studies
Common questions
Do you build cross-platform or native apps?
Mostly cross-platform with Flutter. One codebase runs on iOS and Android, which is more cost-effective, faster to build and easier to maintain, while still performing close to a native app.
How long does it take to build an app?
It depends on what the app needs to do. After the discovery call and a few conversations about scope, I'll give you a realistic timeline for your project.
More answers on the FAQ page.
Other services
Tell me what you're working on
No jargon, no pressure. Just a conversation about what you need and whether I'm the right fit.
Start a conversation