A zero-backend Progressive Web App (PWA) for cultivating prayer, mindfulness, and self-compassion habits. The tracker runs entirely in the browser, so you can use it anywhere without managing servers or databases.
- Guided daily check-ins for morning, midday, and evening rhythms including consecration, stillness, examen, rosary decades, and more.
- Progress metrics with quick totals for breath meditation minutes, Jesus Prayer counts, victories over temptations, and other customisable stats.
- Weekly anchors to remember Mass, confession, fasting, and accountability commitments.
- Secure-by-default storage that stays on-device, plus manual export/import tools for moving data between browsers.
- Offline-first experience powered by a service worker so the app works even without a connection.
- Create a public repository on GitHub, e.g.
zc-tracker. - Copy these files into the repository root:
index.html,manifest.json,sw.js,app.js,styles.css,icon-192.png,icon-512.png, and.nojekyll. - Commit and push your changes.
- In Settings → Pages, set Build and deployment → Source to Deploy from a branch. Choose the
main(ormaster) branch and the / (root) folder. - Wait for deployment, then open your GitHub Pages URL. On mobile you can Add to Home Screen to install the PWA.
Deployments are static, so simply push new commits to the published branch. The service worker will refresh caches automatically the next time the app loads.
- Install dependencies (needed for Tailwind and Babel builds):
npm install
- Build the production assets:
npm run build
- Open
index.htmldirectly in your browser (double-click or drag into a tab).
Note: Service workers only work on
https://orhttp://localhost. Opening the file locally is fine for testing UI and functionality, but background sync/cache features will be limited until served from a local dev server or GitHub Pages.
When editing source files:
- Update React code in
src/app.jsxand rebuild withnpm run build:js. - Adjust Tailwind styles in
src/styles.cssand rebuild withnpm run build:css. - The compiled
app.jsandstyles.cssfiles at the project root are what the static site uses.
All practice data lives entirely in the browser using localStorage. Use the in-app Export (JSON/CSV) and Import actions to create manual backups or transfer data to another device.
- Using a custom domain? Add a
CNAMEfile with the domain name before pushing. - If you change the icons, replace both
icon-192.pngandicon-512.png, then update the references inmanifest.jsonif sizes change.
- React for stateful UI interactions (
src/app.jsx). - Tailwind CSS for utility-first styling compiled to
styles.css. - Service worker & Web App Manifest for installability and offline support.
Try the production deployment here: Regula on GitHub Pages.