No-CodeIntermediate

How to Turn a No-Code Web App into an Installable Mobile App

Make a Lovable or Bolt web app installable on phones as a Progressive Web App with an icon, offline shell, and full-screen mode.

9 minIntermediate

You do not need the app stores to put your app on someone's home screen. A Progressive Web App (PWA) lets users install your web app straight from the browser, with an icon and a full-screen, app-like experience. This guide turns a generated web app into a PWA.

What you need

  • A published web app from Lovable, Bolt, or v0
  • A square app icon (512x512 PNG works well)
  • An HTTPS URL, which all these platforms provide by default
  • About 15 minutes

Step 1: Ask the tool to add a web manifest

A PWA needs a manifest file describing the name, icons, and display mode. Prompt your builder to create it and link it in the page head.

chat prompt
Add a PWA web manifest named manifest.json with the app name 'PrepPilot', a 512x512 icon, a theme color of #16a34a, and display set to standalone. Link it in the HTML head.

Step 2: Check the generated manifest

Open the manifest and confirm the fields. The display value standalone is what gives the installed app its own window without browser chrome.

public/manifest.json
{
  "name": "PrepPilot",
  "short_name": "PrepPilot",
  "start_url": "/",
  "display": "standalone",
  "theme_color": "#16a34a",
  "background_color": "#ffffff",
  "icons": [
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

Step 3: Add a service worker for the offline shell

A service worker lets the app load even on a flaky connection by caching the shell. Ask the tool to register one. Many builders can add a small worker that caches the core assets.

chat prompt
Register a basic service worker that caches the app shell so the app still opens when offline. Keep it simple, cache-first for static assets.
Service workers can serve stale files
A cache-first worker may keep showing an old version after you redeploy. Make sure the worker uses a versioned cache name and clears old caches on activate, or users will be stuck on yesterday's build.

Step 4: Test the install on a phone

Open the live HTTPS URL on a phone. On Android Chrome you get an Install prompt; on iOS Safari use Share, then Add to Home Screen. The app then opens full screen from its own icon.

mobile browser - install
PrepPilot
------------------------------------------
Install app?
Adds PrepPilot to your home screen and
opens it in its own window.
[ Not now ] [ Install ]
The install prompt appears once the manifest and worker are valid.

Result

Your web app now installs to the home screen with its own icon, launches full screen, and opens even with a poor connection. You delivered an app-like experience with no app store, review process, or native code.

Watch related tutorials

Tags
#pwa#mobile#lovable#bolt#manifest