Making a website installable, offline-capable, and app-like.
A Progressive Web App is a regular website that adopts a few specific browser capabilities to feel like a native app: a manifest.json file that tells the browser how to display it when installed (icon, name, start URL, display mode), and a service worker — a script that runs separately from the page and can intercept network requests, cache responses, and keep working even when the page itself is closed.
The service worker is what makes offline support possible, but it requires a deliberate caching strategy, not just 'cache everything.' Cache-first serves from cache and only hits the network as a fallback, ideal for static assets that rarely change. Network-first tries the network and falls back to cache, better for data that should stay fresh when possible. Stale-while-revalidate serves the cached version immediately while quietly fetching an update in the background — a common middle ground for balancing speed and freshness.
What you'll walk away knowing