How to Test PWAs Across Devices
Progressive web apps fail in device-specific ways. A workflow for testing installability, offline behavior, and viewport handling across devices.
7 min read - Updated 2026-06-12
Use this guide as a compact release reference, then validate the same breakpoints in Sizzy with synchronized devices and screenshot evidence.
PWAs multiply your testing matrix
A PWA isn't one app - it's a website, an installed standalone app, and an offline experience, each rendering differently per platform. iOS Safari, Android Chrome, and desktop each have their own install flows, display modes, and service worker quirks, so a PWA that's perfect in one context can be broken in another.
Browser tab, standalone, and minimal-ui modes all render differently
iOS has no install prompt - only Add to Home Screen via the share sheet
Safe areas (notches, home indicators) only matter in standalone mode
Service worker behavior varies with storage pressure per platform
Test the layouts that only exist when installed
Standalone mode removes the browser UI, which changes your real viewport and exposes layout assumptions. Test display-mode media queries, safe-area insets, and your offline page on every device class - side-by-side multi-device testing covers the responsive dimension while you toggle PWA-specific states.
Verify @media (display-mode: standalone) styles at every width
Check env(safe-area-inset-*) padding on notched viewports
Kill the network and walk your core flows against the service worker
Test the update path: deploy, reopen, confirm fresh assets load
A release checklist that scales
Run Lighthouse's PWA audit for the basics (manifest, service worker, HTTPS), then do the human pass: install on one real Android device and one real iPhone, test offline flows, and verify your responsive breakpoints in a multi-device browser before every release. QR-to-phone shortcuts make the real-device step fast - point your phone at a code instead of typing local IPs.
Lighthouse PWA audit green before manual testing
Real install test on Android and iOS - flows differ completely
Offline and slow-network passes with throttling
Full breakpoint sweep in side-by-side devices before tagging a release
Release checklist
Test browser, standalone, and offline modes as separate experiences.
Verify safe-area insets and display-mode queries on mobile widths.
Install on at least one real Android and one real iOS device.
Sweep all breakpoints side-by-side before each release.
Benji
Your life OS
The companion app that keeps every area of your world in sync.
Zero to Shipped
Ship products, not side projects
The ultimate Next.js boilerplate for building and launching real products.
DMX
Mindful Twitter/X
The intentional X client for macOS. Reclaim your attention span.
Sotto
Voice-to-text for macOS
Speak naturally. Type instantly. 100% local & private.
Passlock
Password manager with willpower
Lock passwords with time delays, word challenges, or hand the keys to someone you trust.
Glink
Changelogs that slap
Beautiful changelogs and roadmaps for your product.
JoinRepo
GitHub access control
Monetize your GitHub repositories with ease.
Tubely
YouTube Studio for Mac
Manage multiple YouTube channels in one native app.
JustWrite
Distraction-free writing
A minimal writing app that helps you focus on what matters.