Live demo: unfoldAI
Video (≤2 min): Demo Video
Repo: Repo
- 3 synced charts: HRV, RHR, Steps
- Shared crosshair + 7d/30d/90d range toggle
- Journal annotations (tap to view mood/note)
- HRV band (7-day mean ± 1σ)
- Latency (700–1200 ms) + ~10% random load failures + Retry
- Decimation for 30/90 days + dark mode
flutter pub get
flutter run -d chrome
# or build for web:
flutter build web && serve from /build/web
Injects 700–1200 ms latency and ~10% random load failures.
Libraries (+ why)
Syncfusion Charts (web pan/zoom/trackball), Riverpod (state), Skeletonizer (loading).
Models → Services/Loader → Controllers (providers) → Screens/Widgets.
Bucket-mean decimation for 30/90-day ranges keeps frames under 16 ms. Preserves min/max in unit tests.
Trackball API varies by Syncfusion version. Mobile FPS depends on device; a11y not added yet.