StudyMap

Docs/Install & Offline Usage

Install & Offline Usage

StudyMap is a Progressive Web App: install it to your home screen and it keeps working with a weak or absent signal, useful on exam day.

Add to Home Screen
Uses your browser's built-in install feature, no app store
  • Android (Chrome): tap the ⋮ menu and choose Install app (or Add to Home screen), or tap the install icon in the address bar if it appears.
  • iPhone/iPad (Safari): tap the Share button, then Add to Home Screen.
  • Desktop (Chrome/Edge): click the install icon in the address bar, or open the browser menu and choose Install StudyMap....

StudyMap doesn't show its own install button - this is entirely your browser's native feature, driven by the app's manifest and service worker.

What works offline
Whatever you've already opened, plus the map itself
  • The app shell (home, map, and other pages you've visited before).
  • Map tiles you've already panned/zoomed to - cached as you browse, up to 300 tiles, so the whole world isn't hoarded on your device.
  • Any page you haven't visited yet falls back to an Offline screen instead of a browser error.

Signing in, saving a new place, or loading a city you've never opened still needs a connection - only what's already cached works fully offline.

How the caching works
A versioned service worker (public/sw.js)

Two caches, each tagged with a version: an app cache (page shell, build assets, icons) and a tile cache (map tiles from MapTiler). Page loads try the network first and fall back to the cache when offline; static assets and tiles are cache-first since they don't change under the same URL.

Every deploy bumps the version, which deletes old caches once the new service worker activates - normally a reload is enough to pick up a new release.

App looks out of date after a deploy?
Usually a stale service worker, not a failed deploy

Try these in order:

  1. Hard refresh: Cmd+Shift+R on Mac, Ctrl+Shift+R or Ctrl+F5 on Windows/Linux.
  2. Clear site data:in your browser's dev tools (Application tab in Chrome/Edge, Storage in Firefox), clear Service Workers, Cache Storage, and Storage for the site, then reload.
  3. Reinstall the PWA: if you installed it to your home screen, remove it and reinstall from the site.

If none of these help, the deploy itself likely hasn't shipped yet - check the deployment status before assuming it's a caching issue.