r/PWA 5h ago

Rethinking PWAs: User-Defined Apps (UDA) — Why install multiple apps when URL parameters can create custom homescreen shortcuts?

Post image
4 Upvotes

Hey r/pwa!
I’ve been exploring a concept I call UDA (User-Defined Apps), which leverages dynamic web app manifests to differentiate PWAs from native apps.
Instead of building a single monolithic app, this approach lets users define their own custom "app instances" right from the URL query parameters.

How it works in this Timer Demo:
• Users set duration, count direction, and icon color on the page.
• The URL parameters update dynamically (e.g. ⁠?time=5&mode=down&icon=red⁠).
• The Web App Manifest dynamically updates its ⁠name⁠ and ⁠icon⁠ based on these parameters.
• When added to the Home Screen, it creates a dedicated shortcut (e.g., "5m↓ Timer" with a red icon).

Note on OS Behavior:
• iOS (Safari): Works perfectly! Treats each unique URL query as an independent homescreen app.
• Android (Chrome): Currently limited because WebAPK binds to the manifest ⁠scope⁠. Query variations overwrite the existing installed PWA instead of creating separate instances.

You can literally fill an iOS homescreen folder with customized, single-purpose timers—all powered by a single PWA source.
I’d love to hear your thoughts on this paradigm and how we might overcome the scope limitations on Android!
Try the demo here:
https://ojach.github.io/PWA-1P1A/timer-en/?time=3&mode=down&seconds=on&icon=purple


r/PWA 20h ago

I build this directory for you if u have PWA to list

Thumbnail
pwa.directory
2 Upvotes

This is a free directory I created to help small and medium-sized PWAs gain more visibility online. You can list a PWA for free or—with a paid plan—have it listed more quickly.


r/PWA 19h ago

特定のAndroidタブレットでTWA(Trusted Web Activity)の検証が失敗してる—assetlinks.jsonは正しいのに

Thumbnail gallery
1 Upvotes

r/PWA 17h ago

I built a fully offline fart counter PWA — 14 synthesized sounds, achievements, zero network needed. iOS quirks included

Post image
0 Upvotes

Started as a joke with a friend, ended up as my most polished PWA. Next.js 16 + TypeScript, hand-written service worker (cache-first), Zustand persist, Web Audio API for the sounds (zero audio files).

Things that hurt:

- iOS has no beforeinstallprompt → manual "Add to Home Screen" flow

- 100vh broken in standalone → dvh

- Safari updates the SW on its own schedule, users got stuck on old versions → added version check + update toast

Live: https://fart-counter-lake.vercel.app

Source: https://github.com/agent-slon-lab/fart-counter

Happy to share details on any of the quirks 🙂