Progressive Web App Configuration
VozCraft is built as a Progressive Web App (PWA), allowing users to install it on their devices and use it like a native application. This page documents the PWA configuration, manifest setup, and installation process.What is a PWA?
A Progressive Web App combines the best features of web and native applications:Installable
Offline Capable
App-like Experience
Auto-updates
Web App Manifest
The manifest file (public/manifest.json) defines how VozCraft appears when installed:
Manifest Properties
name - Full Application Name
name - Full Application Name
- Maximum length: 45 characters (recommended)
- Usage: App launcher, settings, about screen
- Fallback: If not specified, uses
<title>tag
short_name - App Launcher Name
short_name - App Launcher Name
- Maximum length: 12 characters (recommended)
- Usage: Home screen icon label, task switcher
- Fallback: Uses
nameif not specified
description - App Description
description - App Description
- Maximum length: 256 characters
- Usage: App stores, installation prompts
- SEO impact: May be used by search engines
start_url - Launch URL
start_url - Launch URL
- Relative or absolute: Can be relative to manifest location
- Query parameters: Use to track PWA installs:
"/?source=pwa" - Must be in scope: URL must be within the app’s scope
- Root Launch
- With Tracking
- Deep Link
display - Display Mode
display - Display Mode
standalone to provide an app-like experience without browser chrome. The app fills the screen with only system status bar visible.background_color - Launch Screen Color
background_color - Launch Screen Color
- Format: Hex color code
- Usage: Splash screen background
- Duration: Shown until first paint
- Should match: Your app’s actual background color
theme_color - Browser Theme Color
theme_color - Browser Theme Color
- Format: Hex color code
- Usage: Status bar, toolbar color
- Platform: Mainly Android, Safari on iOS
- Can be dynamic: Update with
<meta name="theme-color">
- Android
- iOS Safari
- Desktop

#2563eb (blue-600) which matches the primary brand color used throughout the interface.icons - App Icons
icons - App Icons
- any
- maskable
- any maskable
HTML Integration
The manifest is linked inindex.html:
Essential Meta Tags
viewport - Mobile Responsiveness
viewport - Mobile Responsiveness
width=device-width: Sets viewport width to device widthinitial-scale=1.0: Sets initial zoom level
manifest link - PWA Configuration
manifest link - PWA Configuration
- Path is relative to domain root
- Must be accessible via HTTPS (except localhost)
favicon - Browser Tab Icon
favicon - Browser Tab Icon
iOS-Specific Meta Tags
iOS Safari requires additional meta tags for PWA features:index.html doesn’t include these iOS tags, they’re recommended for better iOS PWA support.Installation Process
Desktop Installation (Chrome)
Visit VozCraft
Look for install prompt
Click install
App opens
Mobile Installation (Android)
Open in Chrome
Tap 'Add to Home Screen'
Confirm installation
Launch from home screen
Mobile Installation (iOS)
Open in Safari
Tap Share button
Select 'Add to Home Screen'
Customize and add
Installation Criteria
Browsers will only show the install prompt if the PWA meets certain criteria:- General Requirements
- Chrome Requirements
- Firefox Requirements
- Safari Requirements
nameorshort_nameicons(192px and 512px)start_urldisplay(standalone, fullscreen, or minimal-ui)
- ✅ Valid manifest.json
- ✅ 192x192 and 512x512 icons
- ✅ Standalone display mode
- ✅ Can be served over HTTPS
- ⚠️ No service worker (yet)
Service Worker (Recommended)
While VozCraft doesn’t currently include a service worker, adding one enables offline functionality and improves performance.Basic Service Worker Implementation
Createpublic/service-worker.js:
Register Service Worker
Add tosrc/main.jsx:
Testing PWA Features
Chrome DevTools
Open DevTools
Navigate to Application tab
Check Manifest
- All properties display correctly
- Icons load properly
- No warnings or errors
Test installability
Lighthouse Audit
Open Lighthouse
Select categories
Run audit
Review results
- PWA optimization score
- Specific failing checks
- Recommendations for improvement
PWA Best Practices
Provide high-quality icons
Use maskable icons
- Important content in center 80%
- Test at maskable.app
Implement a service worker
- Cache static assets
- Implement caching strategies
- Handle offline fallbacks
Add iOS support
Test on real devices
- Install on Android device
- Install on iOS device (Safari)
- Test offline functionality
- Verify icon appearance
Common Issues
Install prompt doesn't appear
Install prompt doesn't appear
- Not served over HTTPS
- Missing required manifest properties
- User already installed the app
- User dismissed prompt too many times
- Insufficient user engagement
Icons not displaying correctly
Icons not displaying correctly
- Wrong icon path
- Incorrect image format
- Icons not square
- Missing required sizes
App doesn't open in standalone mode
App doesn't open in standalone mode
displayproperty not set correctly- Manifest not linked in HTML
- Caching issues
