What is Synheart Wear?
Synheart Wear is a unified wearable SDK ecosystem that streams biometric data (HR, HRV, steps, calories, distance) from Apple Health, Health Connect, WHOOP, Garmin, Fitbit, Oura and BLE heart-rate straps through a single, standardized API across Flutter, Android, and iOS applications.Wondering what data you actually get from each device — and what you don’t?
Wearable signals is the reality check: the access
gates, the raw signals, and what the data becomes downstream.
Key Features
Cross-Platform Support
- Flutter: Cross-platform mobile apps (iOS 16+ / Android API 28+, Flutter 3.32+)
- Native Android: Kotlin SDK with Health Connect integration (Android API 21+,
compileSdk34) - Native iOS: Swift SDK with HealthKit integration (iOS 13+, watchOS 8+, macOS 13+)
Multi-Device Support
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
Every SDK reports readings asWearMetrics. The Flutter SDK serializes it
with 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?> — meta.battery and meta.synced are read back by
the SDK (WearMetrics.batteryLevel, WearMetrics.isSynced).
The native SDKs differ in a few places:
The two HRV keys usually hold the same value: each platform reports one HRV
figure (SDNN from HealthKit, RMSSD from Health Connect), and the SDK stores it
under both.
Privacy & security
- Consent-first design — reads are gated by the permissions the user
granted. On Flutter,
requestPermissionsis all-or-nothing: every requested type gets the same status. - Local cache encryption — on Flutter (0.7.0+), each cached session is
sealed with AES-256-GCM under a key kept in the iOS Keychain or Android
secure storage when
enableEncryptionis set; tampered records are dropped. Swift (0.4.3+) does the same with a Keychain key. The Kotlin SDK acceptsenableEncryptionbut currently writes the cache unencrypted. - No persistent IDs — the SDK does not generate or persist a user-level identifier; integrations supply their own pseudonymous ID.
- Right to revoke — Kotlin and Swift
purgeAllData()clears the local cache and revokes consents. On Flutter,revokeAllPermissions()revokes grants andclearOldCache()clears the cache; they are separate calls.
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
Stability
Synheart Wear is pre-1.0. Minor version bumps may include breaking API changes — pin exact versions (or a tight constraint like^0.7.0) in production, and read each SDK’s CHANGELOG before upgrading. Individual wearable adapters are versioned independently of the SDK; adapter-specific changes are called out in the Adapters page.
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: github.com/synheart-ai — every Wear SDK lives in its per-language repo (
synheart-wear-flutter,synheart-wear-kotlin,synheart-wear-swift). - Issues: file against the relevant per-language repo.