You've got an idea for an app. It's brilliant. Revolutionary. Will definitely not end up abandoned on the Google Graveyard of Failed Projects.
First question: where do you build it?
iOS app? Android? Web app? All three? Your developer friend says "just make it a Progressive Web App," which sounds fancy but you're not entirely sure what that means.
Welcome to the platform decision — the choice that'll define your budget, timeline, and possibly your sanity for the next 6-12 months.
Let's break it down like we're explaining it over a plate of chips mayai.
The Landscape: Your Options
1. Native Mobile Apps (iOS and Android)
Separate apps built specifically for each platform. Swift/Objective-C for iOS. Kotlin/Java for Android.
Pros:
- Best performance
- Full access to device features (camera, GPS, push notifications, etc.)
- Feels smooth and native (because it is)
- Can work offline
Cons:
- Expensive (you're building twice — once for iOS, once for Android)
- Slower to develop
- Two codebases to maintain = double the bugs
- App Store approval process (Apple is notoriously picky)
2. Cross-Platform Mobile Apps (React Native, Flutter)
One codebase that works on both iOS and Android. Write once, deploy everywhere (in theory). Managing app state across platforms requires careful planning — see mobile app state management patterns for architecture strategies.
Pros:
- Cheaper than native (one codebase)
- Faster development
- Still good performance (not quite native, but close)
- Access to most device features
Cons:
- Occasional platform-specific bugs
- Slightly less smooth than true native
- Some features require native code anyway
- Larger app size
3. Web Apps
Just a website. No app store. No download. Open a browser, use the app.
Pros:
- Works on any device with a browser
- One codebase for everything
- No app store approval needed
- Updates are instant (no waiting for users to update)
Cons:
- Limited access to device features
- Needs internet (mostly)
- Can't send push notifications easily (though this is improving)
- Doesn't feel as "premium" to some users
4. Progressive Web Apps (PWAs)
Web apps on steroids. They look and feel like apps, can work offline, and can be "installed" on your home screen. For a deep dive, check out the complete Progressive Web Apps guide that covers offline functionality, service workers, and deployment strategies.
Pros:
- Best of both worlds (web flexibility + app-like feel)
- One codebase
- No app store needed
- Cheaper than native
Cons:
- iOS support is... complicated
- Still some limitations on device access
- Not all users understand how to "install" them
How to Actually Choose (A Decision Framework)
Whatever platform you choose, consider an API-first development approach that separates business logic from presentation. This makes adding new platforms later much easier.
Ask yourself these questions:
1. Who is your audience?
If your target market is primarily on mobile, build mobile. If they're on desktops at work, build web.
Kenyans are VERY mobile-first. Most internet usage happens on phones. If you're building for the local market, mobile should be your priority.
2. What features do you need?
Need camera access, GPS, biometric authentication, or push notifications? You need a mobile app (native or cross-platform).
Simple forms, dashboards, and content? Web works great.
3. What's your budget?
Native apps for iOS and Android = expensive. You're essentially building two apps.
Web or cross-platform = cheaper.
PWA = cheapest.
4. How fast do you need to launch?
Web apps are fastest to build and deploy. No app store review process.
Cross-platform apps are next.
Native apps take the longest.
5. Do you need offline functionality?
Mobile apps handle offline better. PWAs are getting there. Traditional web apps? Not really.
6. What's your long-term vision?
Starting with web and adding mobile later is easier than starting with mobile and adding web later.
But if your product IS mobile (like a fitness tracker or a dating app), start with mobile.
The Startup Strategy (How Most Smart Founders Do It)
Phase 1: Validate with the Simplest Thing
Build a web app or PWA first. Cheapest, fastest way to test if people actually want your product.
If nobody uses the web version, they wouldn't have downloaded the mobile app either. You just saved yourself 6 months and 2 million shillings.
Phase 2: Go Mobile When Validated
Once you've proven people want this, build the mobile app. Start with cross-platform (React Native or Flutter) unless you have a specific reason to go native.
Phase 3: Optimize Where It Matters
If iOS users are 80% of your revenue, maybe build a native iOS app and keep Android cross-platform.
Or vice versa. Let data guide your decisions, not ego.
When to Choose Each Option
Choose Native Mobile If:
- Budget isn't a constraint
- Performance is critical (gaming, AR/VR, heavy graphics)
- You need deep integration with device features
- You're targeting a single platform initially (iOS-first or Android-first)
Choose Cross-Platform If:
- You need both iOS and Android but have limited budget
- Speed to market is important
- Your app is standard (not pushing hardware limits)
- You want one team managing one codebase
Choose Web App If:
- Your users are on desktops
- You need to launch FAST
- Budget is tight
- You want to iterate quickly without app store delays
Choose PWA If:
- You want app-like experience without app store hassle
- Your audience is tech-savvy enough to "install" it
- You're okay with some platform limitations
- You're targeting Android more than iOS (iOS support for PWAs is improving but still limited)
The Kenya Reality Check
Let's be real about the local market:
1. Data Costs Matter
Heavy apps that require constant internet won't work well. Build lean. Cache aggressively. Make offline mode actually work.
2. Device Variety Is Wild
People are using everything from the latest iPhone to a 4-year-old budget Android. Your app needs to work on lower-end devices.
Cross-platform or PWA handles this better than you manually optimizing for 50 different devices. When building for React Native, check out navigation patterns that work across device sizes.
3. App Store Friction
Downloading an app from Google Play Store uses data. Requires storage space. Some people avoid it.
A good PWA can be more accessible than an app that requires download.
4. Mobile Money Integration Is Key
If you're not integrating M-Pesa, are you even building for Kenya? How are you getting paid my guy? Seriously. Whatever platform you choose, M-Pesa integration is non-negotiable.
The Hybrid Approach (What Most Successful Companies Do)
Here's the secret: you don't have to pick just one.
Spotify has native iOS and Android apps AND a web app.
Uber started mobile-only but added web for ride booking.
WhatsApp is mobile-first but has a web version for convenience.
Start where it makes sense. Expand to other platforms as you grow and as user demand dictates. Just remember that user experience design should be consistent across platforms, even if implementation details differ. Flutter's Riverpod state management excels at sharing business logic across mobile and web.
Red Flags (Bad Reasons to Choose a Platform)
"I prefer iOS so we're building iOS-only" — Cool, enjoy missing 70% of the Kenyan market (Android dominates here).
"Native apps are more professional" — Users don't care about how it's built. They care if it works.
"Everyone's using Flutter now" — Trends are not strategies. Choose based on YOUR needs, not what's hot on Twitter.
"We'll just build everything at once" — No. Please. This is how you run out of money before launching anything.
The Bottom Line
There's no universally correct answer. It depends on your product, your users, your budget, and your timeline.
But here's a safe bet for most startups:
- Start with web or PWA to validate the idea cheaply
- Go cross-platform mobile once validated
- Consider native only when you've proven the product and need that extra performance or specific feature
Don't overthink it. Launch something. Learn. Iterate. You can always rebuild later when you have users and revenue.
The worst platform choice is the one that takes so long to build that you never launch.
Takeaway: Choose your platform based on where your users are, what features you need, and what you can afford. Mobile-first makes sense for most consumer apps in Kenya. Web-first works for B2B and desktop-heavy use cases. Cross-platform (React Native/Flutter) gives you the best bang for buck. PWAs are underrated. And remember: the best platform is the one you can actually ship on. Paralysis by analysis kills more startups than wrong platform choices.