Workout Bridge is a small iPhone app for enthusiasts who want to move Apple Health workout and wellness data into Intervals.icu without relying on a commercial sync product.
It reads workouts from HealthKit, prepares TCX exports on-device, uploads them to Intervals.icu, and can also push daily wellness data such as resting heart rate, HRV, sleep, steps, body metrics, blood pressure, nutrition, and related metrics when available.
- Imports workouts from Apple Health / Apple Watch through HealthKit
- Uploads workout files to Intervals.icu
- Uploads extra streams such as ground contact time, vertical oscillation, and optional flights climbed
- Keeps a local workout status history so you can see what synced and what did not
- Supports manual and automatic sync flows
- Uploads daily wellness records separately from workout uploads
- A personal side-project style utility for hobbyists and data nerds
- Not an App Store product
- Not a polished consumer sync service
- Not affiliated with Apple or Intervals.icu
- Open
intervals watch sync.xcodeprojin Xcode. - Select your own Apple development team in Signing & Capabilities if you want to run it on a device.
- Build and run on iPhone.
- Grant Health access.
- Enter your Intervals.icu API key in the app settings. The key is stored locally in the device Keychain.
- Optionally set athlete ID and custom stream codes, then sync workouts or wellness data.
This repository should keep the usual shareable iOS project files:
- Swift source files
- Asset catalogs
Info.plist- entitlements
- the Xcode project file
- this README
The .gitignore excludes the usual machine-specific or disposable Xcode files:
xcuserdataand other per-user Xcode UI stateDerivedDataand local build outputs- SwiftPM local caches
- macOS
.DS_Storefiles - optional local secret files if someone adds them later
- The Intervals.icu API key is not stored in the repository.
- Health data stays on-device until you explicitly grant permission and trigger sync behavior.
- This project is currently aimed at direct Xcode usage, not App Store distribution.