The short version
- Bootstrap a browser project with shadow-cljs.
- Add React and Reagent, then render a small working interface.
- Create a web app manifest with appropriately sized icons and a maskable icon.
- Add a service worker, a theme colour, and correctly sized viewport content.
- Capture
beforeinstallpromptif you want an explicit install button. - Verify the result with browser application and accessibility tooling.
The accompanying example remains available in the cljs-pwa repository.