---
epic: 9
story: 9.3
title: "PWA Support"
status: draft
---

## Epic 9 — Web App (React + WASM)
**Goal:** Zero-install web experience with real-time collaboration.

### Story 9.3: PWA Support

As a web user,
I want CalcPad to work offline and be installable on my device,
So that I can use it like a native app without network dependency.

**Acceptance Criteria:**

**Given** the web app has been visited at least once
**When** the user loses network connectivity
**Then** the service worker serves the cached application shell and assets
**And** all previously loaded sheets remain accessible and editable offline

**Given** a user visits the web app in a supported browser
**When** the browser detects the PWA manifest
**Then** an "Add to Home Screen" / install prompt is available
**And** installing creates a standalone app icon on the user's device

**Given** the app is running offline
**When** a user performs a currency or unit conversion that relies on exchange rates
**Then** the most recently cached rates are used for evaluation
**And** a subtle indicator shows that rates may be stale

**Given** a user navigates to the web app for the first time on a reasonable connection
**When** the initial page load completes
**Then** the time to interactive is less than 2 seconds
**And** the app scores above 90 on Lighthouse PWA, Performance, and Best Practices audits
