Progressive Web App (PWA)

A Progressive Web App is a website that behaves like an installed app: it can be added to the home screen, opens in its own window without a browser address bar, and can keep working without a connection if it ships a service worker. It is distributed by URL, not through an app store.

What actually makes an app a PWA

Three technical pieces, all of which the browser checks before it offers to install anything:

Meet all three and Chrome, Edge and Android offer "Install app"; on iOS the user adds it from the Share menu. The result is an icon on the home screen and an app that launches without an address bar — but it is still a website. It updates the moment you deploy, there is no store review, and it can be shared as a link.

Where PWAs win, and where they genuinely lose

They win on distribution and on iteration cost. One codebase serves phone, tablet and desktop, there is no app store commission, and a bug fix reaches every user on next launch instead of after a review queue.

They lose on anything that depends on deep operating system integration. iOS support for push notifications and background sync is limited and arrived late, Safari can evict stored data after a few weeks without use, and some hardware APIs — Bluetooth, NFC, precise background location — are unavailable or inconsistent across browsers. If those are core to the product, a PWA is the wrong container.

The misconception: installable does not mean offline

This is the part people get wrong. A PWA that can be installed to the home screen is not automatically an offline app. Installability comes from the manifest; offline behaviour comes entirely from what the service worker chooses to cache. An installed PWA with no caching strategy shows the same blank screen in airplane mode that the website did.

Offline also has to be earned while online, because the first visit is what downloads and stores the files. Anything live — a database read, a login, a cloud AI call — still fails without a connection, and designing an app around that is a deliberate choice rather than a setting you switch on.

Frequently asked questions

Does a PWA work offline automatically?

No. Being installable and working offline are two separate things. Offline behaviour depends entirely on a service worker caching the app during a first visit made with a connection. Without a caching strategy, an installed PWA is just as blank in airplane mode as any other website.

Can a PWA be published in the App Store or Google Play?

Not directly. Google Play accepts a PWA wrapped in a Trusted Web Activity, and both stores accept a web app wrapped in a native shell such as Capacitor. A plain PWA on its own is installed from the browser, which means no store listing and no store search traffic.

Build it yourself

NorthernGo turns a plain-text description into a working web app with a database, login and a live URL. Local AI generation runs on your own GPU, is unlimited, and is free on every plan.

Start building free