Shipped
- Bumped version to v0.7.0 across packages/apps to reflect major user-facing changes
- Added full PWA support:
- Manifest + service worker for installability and offline capability
- Install prompts with native browser support + iOS fallback instructions
- Runtime-generated PWA icons (192/512 + maskable) served from
/pwa/* - Dismissible install banner and settings integration for install UX
- Consolidated and shipped the broader “cohesion” work: Digital Obsidian theme + onboarding + modal system improvements
Why
- Installability turns the training app into something that feels like a real product on-device
- Offline-first behavior needs a first-class install path (not “open a tab”)
- Bundling cohesive UX improvements into one milestone creates a clearer product narrative
Notes
- This release focuses on “product feel”: install, consistency, and cross-device reliability.
Next
- Continue hardening offline behavior (edge cases, cache strategy, stale session handling)
- Tighten play/timer UX further and expand schema/intensity documentation examples