A Progressive Web App for memorizing Bible verses with offline support, audio playback, and installable on any device.
- Installable - Add to your home screen on mobile or desktop for app-like experience
- Offline Access - Works without internet connection once installed
- Native Feel - Opens in its own window without browser UI
- Fast Loading - Cached resources load instantly
- Cross-Platform - Works on iOS, Android, Windows, Mac, and Linux
- Open the app in Safari
- Tap the Share button (square with arrow)
- Scroll down and tap "Add to Home Screen"
- Tap "Add"
- Open the app in Chrome
- Tap the three-dot menu
- Tap "Add to Home Screen" or "Install App"
- Tap "Add" or "Install"
- Open the app in your browser
- Look for the install icon (⊕) in the address bar
- Click it and select "Install"
- Or: Click the three-dot menu → "Install Daily Scripture Memory"
- Open the app in Safari
- File → Add to Dock
To make your PWA accessible online, you need to host it on a web server with HTTPS. Here are some options:
- Create a GitHub repository
- Upload all files from the
scripture-pwafolder - Enable GitHub Pages in repository settings
- Access at:
https://yourusername.github.io/repository-name
- Sign up at netlify.com
- Drag and drop the
scripture-pwafolder - Get instant HTTPS URL
- Sign up at vercel.com
- Import your project
- Deploy with one click
- Install Firebase CLI:
npm install -g firebase-tools - Run
firebase init hosting - Run
firebase deploy
index.html- Main app file with PWA registrationmanifest.json- PWA configuration (name, icons, theme)service-worker.js- Handles offline cachingicon-192.png- App icon (192x192)icon-512.png- App icon (512x512)
- Cache Strategy: Cache-first with network fallback
- Cached Resources:
- HTML, CSS, JavaScript
- External libraries (React, Tailwind, Lucide icons)
- App icons
- Automatic Updates: Old caches cleaned on activation
- Offline Support: App works completely offline after first visit
- ✅ Chrome/Edge (Desktop & Mobile)
- ✅ Safari (iOS 11.3+, macOS)
- ✅ Firefox (Desktop & Mobile)
- ✅ Samsung Internet
- ✅ Opera
The app uses localStorage for data persistence:
- All Scripture passages stored locally
- Data syncs automatically across the same device
- To share data between devices: use Export/Import feature
Edit manifest.json:
"background_color": "#fffbeb", // Background color
"theme_color": "#d97706" // Status bar colorEdit manifest.json:
"name": "Your App Name",
"short_name": "Short Name"- Replace
icon-192.pngandicon-512.pngwith your custom icons - Icons should be square and solid color background recommended
- Clear browser cache
- Unregister old service worker:
- Chrome DevTools → Application → Service Workers → Unregister
- Hard refresh (Ctrl+Shift+R or Cmd+Shift+R)
- Make sure you're accessing via HTTPS (required for PWA)
- Check that manifest.json is valid
- Ensure icons are accessible
- Try different browser
- Visit the app once while online (to cache resources)
- Check Service Worker is registered (DevTools → Application)
- Verify cached resources (DevTools → Application → Cache Storage)
- HTTPS Required: PWAs require HTTPS (except localhost for testing)
- First Visit: App needs one online visit to cache resources
- Updates: Service Worker automatically updates when you deploy changes
- Local Testing: Use
python3 -m http.server 8000for local testing
- Test the app locally
- Choose a hosting provider
- Deploy your PWA
- Share the URL with users
- Users can install it on their devices
Enjoy your Scripture Memory PWA! 📖