Your Users Don't Want to Download Your App. Build a PWA Instead.
I've seen this exact scenario play out a dozen times.
A developer spends four months building a beautiful Android app. Uploads it to the Play Store. Shares the link in their WhatsApp groups.
Half the people who click the link never install it. Not because the app is bad. Because their phone shows "Insufficient Storage" — and they're not going to delete their photos for your app.
The other half install it, use it once, and uninstall it when their storage fills up again.
This is not a hypothetical. Research shows that over 50% of smartphone users download zero new apps per month. People are done installing things. App fatigue is real, and it hits Indian users harder than anyone else — because the average Indian phone has 32GB of storage and roughly 28GB of it is already used. RisingStack
There is a better way to build for Indian users in 2026. It's called a Progressive Web App, and most developers are still sleeping on it.
What Is a PWA, Actually?
Forget the jargon for a second.
A PWA is a website that behaves like an app. Your user opens it in Chrome, sees a small banner that says "Add to Home Screen," taps it, and now your app is sitting on their home screen with an icon — just like any other app. No Play Store. No App Store. No 200MB download.
When they tap the icon, it opens in full screen. No browser bar. Looks and feels exactly like an app. And if their internet drops — which it does, constantly, on Indian networks — it still works because it cached the important stuff.
Three browser technologies make this possible:
Service Workers — a JavaScript file that runs in the background, intercepts network requests, and serves cached content when the connection is slow or gone.
Web App Manifest — a JSON file that tells the browser what your app is called, what icon to use, and how to display it when launched from the home screen.
HTTPS — PWAs require a secure connection. That's it. That's the full technical requirement to get started.
Here is the simplest service worker you can write:
javascript
// sw.js — your service worker file
const CACHE_NAME = 'my-app-v1'
const ASSETS_TO_CACHE = [
'/',
'/index.html',
'/styles.css',
'/app.js',
'/offline.html'
]
// Cache everything when the service worker installs
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => cache.addAll(ASSETS_TO_CACHE))
)
})
// Serve cached files when network is unavailable
self.addEventListener('fetch', event => {
event.respondWith(
caches.match(event.request)
.then(cached => cached || fetch(event.request))
.catch(() => caches.match('/offline.html'))
)
})Register it in your main JavaScript file:
javascript
// app.js
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js')
.then(() => console.log('Service Worker registered'))
.catch(err => console.log('Registration failed:', err))
}That is genuinely it. You now have offline support. On Jio 4G. In a village with two bars of signal. Your app still works.
Why This Matters More in India Than Anywhere Else
Most PWA vs native articles are written for American or European developers. Their users have iPhones with 256GB of storage and 5G connectivity. The tradeoffs look very different for them.
Your users are different. And the numbers make this clear.
PWAs can work offline and cut data usage when connected to the internet — which is especially important in emerging markets such as India. Here's what that actually means in practice: GitHub
Storage reality: The most popular phones in India — Redmi, Realme, Narzo — ship with 32 or 64GB of storage. Your WhatsApp, Instagram, and YouTube cache alone eats 15GB. A native app asking for another 80MB faces real resistance. A PWA installs in under 1MB.
Network reality: Jio's 4G network is genuinely good in cities. But move 50km outside any tier-1 city and you're on 2G or 3G with 400ms+ latency. A properly cached PWA loads in under a second on repeat visits. A native app hitting a slow API takes 8 seconds to show anything.
Cost reality: Building a native app means hiring an Android developer, potentially an iOS developer, managing two codebases, two sets of Play Store / App Store submissions, two release cycles. PWAs reduce development cost by up to 50% because they use a single technology stack and simplified maintenance process. For Indian startups and freelancers building on tight budgets — this is not a small thing. DEV Community
The storage uninstall loop: Indian users uninstall apps constantly to free storage. Your app gets deleted. A PWA cached in the browser is far less likely to disappear — there's no "storage management" screen that highlights it.
What PWAs Can Do in 2026
A lot changed in the last two years. Safari on iOS — historically the biggest blocker for PWAs — finally added proper support. Here is what works everywhere today:
✅ Install to home screen (Android and iOS) ✅ Offline support via service workers ✅ Push notifications (Android: full support / iOS: works from iOS 16.4+) ✅ Background sync — queue actions taken offline, execute when back online ✅ Camera and microphone access ✅ Geolocation ✅ Full screen mode — no browser bar, looks like a native app ✅ Responsive across mobile, tablet, and desktop — one codebase
What still requires native:
❌ Bluetooth (fitness trackers, IoT devices) ❌ NFC (tap payments beyond what browsers support) ❌ ARKit / ARCore — augmented reality features ❌ Background location tracking (ride-sharing, delivery apps) ❌ Widgets on home screen / lock screen ❌ App Store presence (some businesses need this for brand trust)
Real Indian Companies Using PWAs Right Now
This isn't theory. Indian companies figured this out faster than most because their users demanded it.
Flipkart launched Flipkart Lite — a PWA — specifically for users on slow connections and low-storage devices. The results were not incremental. Engagement went up dramatically and the app worked for users who had previously bounced from the native app entirely.
MakeMyTrip built a PWA to reach users in smaller cities where their native app was too heavy. Same booking functionality, fraction of the size.
OLX India moved to a PWA for classifieds browsing — the use case where offline and speed matter most.
The pattern is the same in each case: Indian product teams chose PWA not because it was trendy, but because their analytics showed a massive drop-off at the "download the app" step. Remove that step, and you keep the user.
🔗Also Read:-Why Your Next.js App is Slow 5 Powerful Fixes to Boost Performance Fast
When to Build a PWA — And When Not To
Build a PWA when:
Your users are in tier-2 and tier-3 cities on Android devices with limited storage. Your app is content-focused — news, e-commerce browsing, food menus, service booking. You are a startup validating a product — PWAs deploy instantly, no App Store review wait. You are a solo developer or a small team without the bandwidth to maintain two native codebases. You want Google to index your app's content for SEO.
Build a native app when:
Your app genuinely needs Bluetooth, NFC, or background location tracking. You are building a game with heavy graphics. Your business model depends on App Store presence and discovery. Your users are primarily iPhone users who expect native iOS patterns. You need deep system integrations like widgets, Siri shortcuts, or biometric auth beyond basic web APIs.
Build both when:
You can start with a PWA to validate your concept, reach users quickly, and gather feedback. Once you've proven market fit and identified which features users value most, you can develop native apps for platforms where your users are most engaged. You might discover that 80% of your users are perfectly satisfied with the PWA, and only a subset requires native app features. Udemy
This is actually what smart Indian startups do. PWA first. Native later — only if the data demands it.
🔗Also Read:-REST API with Node.js and Express - complete Guide
How to Turn Any Web App Into a PWA — The Minimal Checklist
If you already have a web app built with React, Next.js, or plain HTML, turning it into a PWA takes less than a day. Here is exactly what you need:
Step 1 — Create your manifest file
json
// public/manifest.json
{
"name": "My App",
"short_name": "MyApp",
"start_url": "/",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#1a1814",
"icons": [
{
"src": "/icons/icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}Step 2 — Link it in your HTML
html
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#1a1814">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="default">Step 3 — Register your service worker (shown earlier in this post)
Step 4 — Test with Lighthouse
Open Chrome DevTools → Lighthouse → check "Progressive Web App". It will tell you exactly what is missing and what score you need to unlock the install prompt.
Step 5 — Generate your icons
Go to pwabuilder.com — paste your URL, it generates all icon sizes and the manifest for you automatically. Completely free.
If you're on Next.js, install next-pwa — it wraps your entire Next.js app with service worker support in about 10 lines of config. No manual service worker needed.
The Real Question Isn't PWA vs Native. It's Who Are Your Users?
If your users are on iPhones in Mumbai buying ₹5000 products — build native. They have the storage, the connection, and the expectation of a polished App Store app.
If your users are on Redmi phones in Lucknow, Jaipur, Coimbatore, or Bhubaneswar — build a PWA. They do not want to download your app. They want your service right now, in the next 10 seconds, on whatever connection they have.
India is not one market. It is fifty markets with different devices, different network conditions, and different user behaviors. The developers who figure this out early — and build accordingly — are the ones whose products actually get used.
The card I built as a PWA for a client's local service business in Indore? Zero Play Store setup. Zero App Store fees. Deployed on a Sunday afternoon. 400 installs in the first month from a single WhatsApp share.
No native app would have done that.
Quick Comparison — Save This
PWA | Native App | |
|---|---|---|
Install size | Under 1MB | 20–200MB |
Works offline | ✅ Yes | ✅ Yes |
Push notifications | ✅ Yes (iOS 16.4+) | ✅ Yes |
App Store listing | ❌ No | ✅ Yes |
SEO / Google indexed | ✅ Yes | ❌ No |
Update process | Instant, no review | App Store review (1–3 days) |
Dev cost | One codebase | Separate iOS + Android |
Bluetooth / NFC | ❌ Limited | ✅ Full |
Works on old Android | ✅ Yes | Depends on SDK |
Best for India | Tier-2, tier-3 cities | Tier-1, premium users |