Changed divisions from 170 to 374, giving approximately 0.45 kg per
step (~1 lb precision) instead of 1 kg per step (~2.2 lbs).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add Skip/Skip Forever links to onboarding screens only
- Remove Skip links from questionnaire screens (baseline, behavioral, lifestyle)
- Add app icon (1024x1024) and generate all platform sizes
- Update About screen with correct URLs (privacy, terms, disclaimer, how it works)
- Add "No ads. Ever." section to About screen
- Configure Android release signing with upload keystore
- Add URL intent query for Android 11+ link launching
- Add skipForever preference to LocalStorage
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Features:
- Save calculation runs with custom labels for later retrieval
- View saved runs list with dominant factor summary
- View detailed results of any saved run
- View original inputs in read-only mode
- Use any saved run as starting point for new calculation
- Compare two saved runs side-by-side
- About screen with app info, help links, privacy policy
- Metric/Imperial unit toggle persisted across sessions
- Info icon in app bar on all screens
Technical:
- New SavedRun model with full serialization
- SQLite saved_runs table with CRUD operations
- readOnly mode for all input screens
- Unit preference stored in LocalStorage
- Database schema upgraded to v2
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Local-first Flutter app that identifies the single behavioral change
most likely to extend lifespan using hazard-based modeling.
Features:
- Risk engine with hazard ratios from meta-analyses
- 50 countries mapped to 4 mortality groups
- 6 modifiable factors: smoking, alcohol, sleep, activity, driving, work hours
- SQLite local storage (no cloud, no accounts)
- Muted clinical UI theme
- 23 unit tests for risk engine
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>