Skip to content

Add PWA manifest so the web app can be installed with a standalone window #253

Description

@hubikj

Current state

The web app cannot be installed as a PWA (no standalone window). It has zero PWA support — no manifest.json, no <link rel="manifest">, no theme-color/apple-touch-icon (the marketing site has some; the app doesn't).

Build facts

  • expo export --platform web with Metro; apps/ui/public/ is copied verbatim to the dist root.
  • apps/ui/sources/app/+html.tsx is the only <head> injection point.
  • nginx serving needs no changes.

Proposed shape

  • apps/ui/public/manifest.json — name, short_name, icons, display: standalone, start_url, theme/background colors matching the existing dark-canvas handling in +html.tsx.
  • Icon PNGs (192/512 + maskable) derived from sources/assets/images/icon.png.
  • <link rel="manifest">, <meta name="theme-color">, <link rel="apple-touch-icon"> in +html.tsx.

Out of scope

Service worker / offline support.

Acceptance

  • Exported dist contains the manifest + head tags.
  • Installability check passes in Chrome devtools/Lighthouse; installed app opens in a standalone window.

Reported by @hubikj; investigation and this write-up produced with Claude (AI). Code references checked against the dev tip as of 2026-08-11.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions