Introduction
Build mobile web apps
that feel installed.
PWA UI is a source-owned React component layer for the interaction and layout problems unique to mobile-first web applications.
Interactive showcase
Feel the components working together.
Open the phone-first mini-app, pull to refresh, push a detail, switch tabs, and try the install path.Why PWA UI?
Accessible primitives already solve dialogs, focus management, and keyboard interaction. PWA UI composes those foundations with safe areas, dynamic viewports, mobile navigation chrome, software keyboard behavior, and touch-first presentation.
Installation
Add the PWA UI namespace to your shadcn configuration, install the provider and the components required by your screen, then import the generated base stylesheet once.
{ "registries": { "@pwa-ui": "https://pwaui.com/r/{name}.json" }}pnpm dlx shadcn@latest add @pwa-ui/pwa-provider @pwa-ui/app-shell @pwa-ui/tab-barimport "@/styles/pwa.css"Mount PWAProvider once near your application root. Every component page includes a direct URL command as a fallback.
Components
The beta is deliberately small: 14 primitives that form a coherent mobile application layer.