A fitness app that can't see what your watch sees is invisible to its own market. The studio treats wearable integration as table stakes for any health product shipping in 2026.
iOS — HealthKit + Apple Watch
UltraFit360 reads from Apple HealthKit using its native SDK through a React Native bridge module. Supported signals include workouts, heart rate, sleep and active energy. Apple Watch integration uses the WatchConnectivity framework for live workout sessions — the watch streams heart rate to the phone, the phone writes to Firestore, the coach sees it.
Android — Health Connect
Google Health Connect replaces the older Google Fit API and is the integration target on Android. The same fields the iOS app reads from HealthKit are available via Health Connect, with permission scoping per category.
Third-party wearables
Garmin and WHOOP are supported through their public APIs as opt-in connections. Both require the user to authenticate the studio's app with the wearable vendor, then sync runs server-side on a schedule. The studio prefers vendor APIs over scraping app exports because the latter breaks every product update.
How the data is handled
- Wearable data is treated as health data — encrypted at rest in Firestore
- Scoped to the member who owns it — security rules enforce this
- Never used for model training — the privacy policy is explicit
- Retained as long as the member account is active; deleted on close
The integration nobody budgets enough for
Reading a heart-rate number from HealthKit looks like a one-line call in the docs. In production it is permission flows that differ per OS version, background-refresh limits that throttle your sync, users who granted access once and revoked it, and watch sessions that drop when the phone locks. Teams underestimate this constantly and ship a wearable feature that works in the demo and fails in the wild. We budget for the real surface area, because a broken sync is worse than no sync — it actively tells the user the app is unreliable.
Why we prefer official APIs over data exports
There is a tempting shortcut: let users export their data from the wearable's own app and import the file. We avoid it. Export formats change without warning, the data is stale by the time it arrives, and the user experience — leave our app, find an export button, come back — is hostile. Official APIs cost more to integrate up front and pay for themselves in reliability and retention.
