Documentation Index
Fetch the complete documentation index at: https://docs.synheart.ai/llms.txt
Use this file to discover all available pages before exploring further.
What is Synheart Wear?
Synheart Wear is a unified wearable SDK ecosystem that streams biometric data (HR, HRV, steps, calories, distance) from Apple Watch, Fitbit, Garmin, Whoop, and Samsung devices through a single, standardized API across Flutter, Android, and iOS applications.Key Features
Cross-Platform Support
- Flutter: Cross-platform mobile apps (iOS + Android)
- Native Android: Kotlin SDK with Health Connect integration
- Native iOS: Swift SDK with HealthKit integration
Multi-Device Support
| Device | Flutter | Android | iOS | Status |
|---|---|---|---|---|
| Apple Watch | ✅ | — | ✅ (via HealthKit) | Ready |
| Health Connect | ✅ | ✅ (Native) | ❌ | Ready |
| WHOOP | ✅ | ✅ | ✅ | Ready |
| BLE Heart Rate Monitors | ✅ | ✅ | ✅ | Ready |
| Fitbit (Cloud OAuth) | ✅ | ✅ | 📋 | Flutter / Kotlin Ready; Swift planned |
| Garmin (Cloud) | ✅ | ✅ | ✅ | Ready |
| Garmin (Native RTS) | ✅ | ✅ | ✅ | On demand (licensed) |
| Samsung Health | 📋 | 📋 | ❌ | Enum reserved; adapter not yet implemented |
| Oura Ring (Cloud OAuth) | ✅ | 📋 | 📋 | Flutter Ready; Kotlin / Swift planned |
Garmin Native RTS: The Garmin Health SDK Real-Time Streaming (RTS) capability requires a separate license from Garmin. TheLegend: ✅ Ready | 📋 PlannedGarminHealthfacade is available on demand for licensed integrations. The underlying Garmin Health SDK code is proprietary to Garmin and is not distributed as open source. For cloud-based Garmin data (OAuth + webhooks), useGarminProvider.
BLE Heart Rate Monitor Support
Direct Bluetooth LE connection to any standard heart rate monitor — no cloud API required. Works with devices implementing the standard BLE Heart Rate Profile (0x180D), including:- WHOOP (Broadcast Heart Rate mode)
- Polar chest straps (H10, OH1)
- Wahoo TICKR
- Garmin HRM-Pro / HRM-Dual
Unified data shape
All platform SDKs (synheart_wear, synheart-wear-kotlin,
synheart-wear-swift) emit the same JSON shape from
WearMetrics.toJson():
timestamp, device_id, source, metrics, and meta are required.
metrics keys are scoped by the MetricType enum (hr, hrv_rmssd,
hrv_sdnn, steps, calories, distance, stress); adapters set
the keys they actually have. meta is a free-form
Map<String, Object?> — only meta.battery is read back by the SDK
(via WearMetrics.batteryLevel).
Privacy & security
- Consent-first design — every adapter call is gated by explicit consent grants; revoking consent stops collection immediately.
- Local-data encryption —
LocalCacheuses AES-256-CBC whenenableEncryptionis set onSynheartWearConfig. - No persistent IDs — the SDK does not generate or persist a user-level identifier; integrations supply their own pseudonymous ID.
- Right to revoke —
revokeConsent()clears active permissions and the local cache.
Architecture
SDK Architecture
Each SDK implements a consistent architecture:Available SDKs
Flutter SDK
Cross-platform SDK for iOS and Android apps.Flutter SDK Documentation
Complete guide for Flutter integration
Android (Kotlin) SDK
Native Android SDK with Health Connect integration.Kotlin SDK Documentation
Complete guide for Android integration
iOS (Swift) SDK
Native iOS SDK with HealthKit integration.Swift SDK Documentation
Complete guide for iOS integration
Use Cases
Wellness Apps
Monitor heart rate, HRV, and activity metrics for wellness coaching:Mental Health Platforms
Stream biosignals into Synheart Core for HSI fusion (focus, capacity, recovery, strain):Research Applications
Collect biometric data for scientific studies:Next Steps
Quick Start
Get started in 5 minutes
Flutter SDK
Flutter integration guide
Kotlin SDK
Android integration guide
Swift SDK
iOS integration guide
Community
- GitHub: synheart-ai/synheart-wear
- Issues: Report Bugs
- Discussions: Community Forum