Essential session storage is required to sign in. Optional analytics remain off unless you allow them.
Turn a data-driven app into an installable PWA: a service worker with an explicit caching strategy per route, an offline fallback, an IndexedDB-backed queue that syncs writes when the connection returns, and a Lighthouse PWA score you screenshot. Handle the 'created offline, conflicts on sync' case deliberately.
App is usable offline; queued writes replay on reconnect; no lost or duplicated mutations.
A deliberate strategy per asset/route (cache-first vs network-first); stale content can be refreshed.
Installable (manifest, icons), passes Lighthouse PWA checks; still keyboard- and screen-reader-usable.
A real offline-edit conflict is detected and resolved, not silently overwritten.
Use this README structure to make the work reviewable.
DevPath fetches a read-only, size-capped snapshot. Submitted code is never executed.
# Offline-first PWA with background sync ## Goal Turn a data-driven app into an installable PWA: a service worker with an explicit caching strategy per route, an offline fallback, an IndexedDB-backed queue that syncs writes when the connection returns, and a Lighthouse PWA score you screenshot. Handle the 'created offline, conflicts on sync' case deliberately. ## Acceptance criteria - [ ] Offline correctness: App is usable offline; queued writes replay on reconnect; no lost or duplicated mutations. - [ ] Caching strategy: A deliberate strategy per asset/route (cache-first vs network-first); stale content can be refreshed. - [ ] Install & a11y: Installable (manifest, icons), passes Lighthouse PWA checks; still keyboard- and screen-reader-usable. - [ ] Conflict handling: A real offline-edit conflict is detected and resolved, not silently overwritten. ## Verification - [ ] Document installation and run commands. - [ ] Record automated checks and their exact commands. - [ ] Add representative output, screenshots, or a short demo where useful. - [ ] Confirm failure paths and known constraints. ## Decision log ### Decision title - Context: - Choice: - Alternatives considered: - Tradeoffs: ## Evidence - Link each rubric criterion to the file, test, or artifact that demonstrates it. ## Known limitations - List what is intentionally out of scope and what should be improved next.