Sep 7, 2026

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

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:

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

  1. Deploy to a host with HTTPS
  2. Open Chrome on Android
  3. Navigate to your site
  4. Tap the three-dot menu → "Add to Home Screen"
  5. 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:

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 — $29

FAQ

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.