Skip to content

Add personalized HR zone thresholds (#138)#531

Open
kavemang wants to merge 2 commits into
ryanbr:mainfrom
kavemang:feat/personalized-hr-zones-138
Open

Add personalized HR zone thresholds (#138)#531
kavemang wants to merge 2 commits into
ryanbr:mainfrom
kavemang:feat/personalized-hr-zones-138

Conversation

@kavemang

@kavemang kavemang commented Jul 16, 2026

Copy link
Copy Markdown

Closes #138.

What changed

  • adds an opt-in Custom HR zones editor to Profile settings on Apple and Android
  • lets users set the inclusive BPM start for Zones 1–5, with neighbour-aware controls that keep all boundaries strictly ordered
  • keeps the existing percentage-of-max model as the default and restores it immediately when customization is disabled
  • routes live HR, live workouts, workout time-in-zone splits, and haptic zone coaching through the same effective zone set
  • includes the personalized boundaries in cross-platform .noopbak settings backups
  • adds German, Spanish, and French translations for the new UI

Why

The existing max-HR override helps users whose measured maximum differs from the age estimate, but it cannot represent lab- or threshold-derived training zones such as LT1/LT2. Personalized BPM boundaries provide that control without changing Effort/strain calculations or any stored workout data.

Safety and compatibility

  • no behavior changes unless Custom HR zones is enabled
  • invalid or malformed restored boundaries fall back to the conventional model
  • no BLE, database migration, or medical classification changes

Validation

  • ./gradlew testFullDebugUnitTest — passes
  • python3 Tools/i18n_audit.py --ci upstream/main — passes
  • git diff --check — passes
  • PR Swift Packages CI — passes, including StrandAnalytics and WhoopStore
  • on-demand App build — passes for universal macOS and iOS Simulator

@kavemang
kavemang marked this pull request as ready for review July 16, 2026 21:30
@kavemang
kavemang marked this pull request as draft July 16, 2026 21:40
@kavemang
kavemang marked this pull request as ready for review July 16, 2026 21:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Personalized HR Zones

1 participant