Progressive Web Apps (PWAs) are websites that utilize modern web features to deliver native app-like experiences to users. The minimum requirements for a PWA are that it is served over HTTPS, includes a web app manifest, and registers a service worker. Service workers allow PWAs to work offline by handling fetch events and caching assets. While adding a PWA to a user's home screen can improve engagement, the true battleground is changing user perception of the capabilities of web apps versus native apps.