● The app is fully built. Here's what was created:
Creighton Cycle Tracker PWA — /home/jacob/CreightonTrackingApp/
Architecture
- Stack: Vite + Vanilla TypeScript + Dexie.js (IndexedDB) + vite-plugin-pwa
- No framework — minimal bundle (~41KB gzipped JS)
- Fully offline-capable with service worker and local-only data storage
Features
- Daily observation entry — bleeding (H/M/L/VL/B), mucus stretch (0-10), mucus characteristics (C/K/L/B/G/Y), frequency, peak day marking, intercourse tracking, notes
- Auto-computed CrMS stamps — green (dry/infertile), red (bleeding), white baby (fertile/mucus), yellow (BIP), with peak day (P) and post-peak count (1/2/3)
- Chart view — classic Creighton 35-column chart with cycle rows, stamps, and observation codes
- Calendar view — monthly grid with mini stamps
- Day detail view — full observation data with edit/delete
- Auto cycle detection — new cycle starts when bleeding resumes after non-bleeding days
- Auto peak day detection — last day of peak-type mucus (stretchy/clear/lubricative)
- Export/import — JSON backup and CSV chart export for practitioner sharing
- Settings — BIP description, default view, data management
PWA / Play Store
- Full PWA with manifest and service worker (auto-update strategy)
- TWA-ready with assetlinks.json template at public/.well-known/
- Wrap with https://github.com/nicmichan/nicmichan.github.io CLI for Play Store distribution
Running
cd /home/jacob/CreightonTrackingApp npm run dev # Dev server npm run build # Production build npm run preview # Preview production build