Design for network state
Offline support for a PWA is not just a matter of adding caches. The experience has to explain what is visible, what can still be done, and when changes will sync without making the user think about network state.
Read data and write data
The first split is between data for reading and data for writing. Read data can often be useful even when stale, while inputs and updates need clear handling for conflicts and failures. Local saves and pending sync states should be explicit so work does not appear saved and then disappear.
Decide freshness per screen
Service Worker strategies should also vary by screen. Home and settings can use stable caches, while weather or notification data should show the last successful fetch time. Deciding acceptable staleness before technology choices keeps the implementation focused.
Treat recovery as continuation
Recovery after reconnecting should be as careful as the amount of offline work. Short messages, retry actions, and diff review keep failures inside the flow of work instead of treating them as a dead end.