Shipped
-
Insights Hub (v1 shell)
- Renamed “Analytics” UI to Insights with tabs: Progress / Body / Tools
- Added dedicated tab components (
ProgressTab,BodyTab,ToolsTab) - Added tracking for page views + tab changes to support engagement measurement
- Updated sidebar + mobile nav labels to reflect “Insights”
-
Profile domain split (migration-safe)
- Migrated legacy
UserMetricsintoUserProfile+UserBodymodels - Updated storage keys to match the new structure while preserving existing data
- Added a
ProfileMigrationRunnerto run safely during app initialization - Refactored Profile page to use new hooks for profile/body ownership
- Migrated legacy
-
Tools UX improvements
- Enhanced 1RM Calculator with calculation-state management:
- Results show only after explicit calculate action
- Calculation state resets when inputs change
- Cleaner input layout and validity-gated calculate button
- Enhanced 1RM Calculator with calculation-state management:
-
UI consistency + quality fixes
WidgetWrappernow optionally renders primary action beside the title (more consistent layout)- Migrated multiple modal surfaces to
shadcn/ui Dialogfor consistent behavior and styling:- ExerciseAutocomplete picker
- Routine settings + add routine dialogs
- Updated beta version references across the UI for consistency and cleaned minor component behavior
Why
- The Profile refactor clarifies domain ownership (identity vs body vs training) without losing existing local-first data.
- Insights replaces generic “analytics” with day-1 value (Progress/Body) and fast access (Tools).
- Consistent modal primitives reduce UX drift and recurring UI bugs as the app scales.
Notes
- This release is the “foundation layer” for the full spec:
- Profile hub as gateway
- Body as canonical owner of sex/height/weight/measurements
- Insights reading from logs + body data with strong empty states
- Training subpage and baselines ship next (keeping this increment small and migration-safe).
Next
- Add
/profile/bodyand/profile/trainingroutes (nested under Profile Hub) - Implement weight + measurement tracking flows under Body (optional, calm UI)
- Flesh out Insights v1 cards (streaks, strength trend, 1000lb club, body trajectory) with robust empty states