How to Make Any Web App Installable on Android in 5 Minutes
Your web app already works on mobile. But users have to open a browser, type the URL, and hope they remember it next time. What if they could install it like a native app — with an icon on their home screen, no Play Store required?
That's a Progressive Web App (PWA). And it takes about 5 minutes to set up.
What You Need
- A website served over HTTPS (Vercel, Netlify, any static host)
- A
manifest.jsonfile - A service worker (10 lines of JavaScript)
Step 1: Create manifest.json
Create a file called manifest.json in your root directory:
{
"name": "Your App Name",
"short_name": "App",
"start_url": "/",
"display": "standalone",
"background_color": "#0F172A",
"theme_color": "#06B6D4",
"icons": [
{
"src": "/icon-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icon-512.png",
"sizes": "512x512",
"type": "image/png"
}
]
}
The key fields:
display: standalone— removes the browser UI, makes it feel like a native appstart_url— where the app opens when launched from the home screenicons— at least 192x192 and 512x512 PNG files
Step 2: Link the Manifest
Add this to your <head>:
<link rel="manifest" href="/manifest.json">
<meta name="theme-color" content="#06B6D4">
<link rel="apple-touch-icon" href="/icon-192.png">
Step 3: Register a Service Worker
Create sw.js in your root directory:
const CACHE = 'v1';
const ASSETS = ['/', '/index.html'];
self.addEventListener('install', e => {
e.waitUntil(caches.open(CACHE).then(c => c.addAll(ASSETS)));
});
self.addEventListener('fetch', e => {
e.respondWith(caches.match(e.request).then(r => r || fetch(e.request)));
});
Then register it in your main JavaScript:
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js');
}
Step 4: Test It
- Deploy to a host with HTTPS
- Open Chrome on Android
- Navigate to your site
- Tap the three-dot menu → "Add to Home Screen"
- Confirm the install prompt
That's it. Your web app is now installable.
Why This Matters for Freelancers
Clients love the idea of a native app but hate the price tag ($20k+ for iOS + Android). A PWA gives them:
- Home screen icon
- Offline functionality
- Push notifications (on Android)
- No Play Store fees or approval process
You can build and deploy a PWA in an afternoon. A starter template saves days of setup — pricing depends on your market and client.
Want a ready-to-deploy PWA template?
TinyCoder includes 5 offline dev tools, manifest.json, service worker, and one-file config. Deploy to Vercel in minutes.
Get TinyCoder — $29FAQ
Does this work on iOS?
Yes, but iOS has limitations. The install prompt isn't as prominent — users tap Share → Add to Home Screen. Service worker support is limited but improving.
Do I need a service worker?
For installability, yes. Chrome requires a service worker with a fetch handler before showing the install prompt.
Can I send push notifications?
On Android, yes. iOS support is limited. Use a library like web-push if you need this.