Skip to main content

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

DeviceFlutterAndroidiOSStatus
Apple Watch✅ (via HealthKit)Ready
Health Connect✅ (Native)Ready
WHOOPReady
BLE Heart Rate MonitorsReady
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. The GarminHealth facade 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), use GarminProvider.
Legend: ✅ Ready | 📋 Planned

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": "2025-10-20T18:30:00Z",
  "device_id": "applewatch_1234",
  "source": "apple_healthkit",
  "metrics": {
    "hr": 72,
    "hrv_rmssd": 45,
    "hrv_sdnn": 62,
    "steps": 1045,
    "calories": 120.4,
    "distance": 2.5
  },
  "meta": {
    "battery": 0.82
  },
  "rr_ms": [800, 850, 820]
}
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 encryptionLocalCache uses AES-256-CBC when enableEncryption is set on SynheartWearConfig.
  • No persistent IDs — the SDK does not generate or persist a user-level identifier; integrations supply their own pseudonymous ID.
  • Right to revokerevokeConsent() clears active permissions and the local cache.

Architecture

┌──────────────────────────────────────────────────────┐
│              Synheart Wear Ecosystem                 │
└──────────────────────────────────────────────────────┘

        ┌────────────────┼────────────────┐
        │                │                │
┌───────▼────────┐ ┌─────▼─────┐ ┌───────▼────────┐
│ synheart-wear- │ │synheart-  │ │ synheart-wear- │
│    flutter     │ │wear-kotlin│ │     swift      │
│  (Flutter)     │ │ (Android) │ │     (iOS)      │
└────────────────┘ └───────────┘ └────────────────┘

SDK Architecture

Each SDK implements a consistent architecture:
┌─────────────────────────┐
│   synheart_wear SDK     │
├─────────────────────────┤
│ Device Adapters Layer   │
│ (Apple, Fitbit, etc.)   │
├─────────────────────────┤
│ Normalization Engine    │
│ (standard output schema)│
├─────────────────────────┤
│   Local Cache & Storage │
│   (encrypted, offline)  │
└─────────────────────────┘

Available SDKs

Flutter SDK

Cross-platform SDK for iOS and Android apps.

Flutter SDK Documentation

Complete guide for Flutter integration
Installation:
dependencies:
  synheart_wear: ^0.3.1
Repository: synheart-wear-flutter

Android (Kotlin) SDK

Native Android SDK with Health Connect integration.

Kotlin SDK Documentation

Complete guide for Android integration
Installation:
implementation("com.github.synheart-ai:synheart-wear-kotlin:0.3.0")
Repository: synheart-wear-kotlin

iOS (Swift) SDK

Native iOS SDK with HealthKit integration.

Swift SDK Documentation

Complete guide for iOS integration
Installation:
.package(url: "https://github.com/synheart-ai/synheart-wear-swift.git", from: "0.2.0")
Repository: synheart-wear-swift

Use Cases

Wellness Apps

Monitor heart rate, HRV, and activity metrics for wellness coaching:
final synheart = SynheartWear(
  config: SynheartWearConfig.withAdapters({
    DeviceAdapter.platformHealth,
  }),
);

synheart.streamHR(interval: Duration(seconds: 5))
  .listen((metrics) {
    final hr = metrics.getMetric(MetricType.hr);
    if (hr != null && hr > 120) {
      showAlert('High heart rate detected!');
    }
  });

Mental Health Platforms

Stream biosignals into Synheart Core for HSI fusion (focus, capacity, recovery, strain):
synheart.streamHRV(windowSize: Duration(seconds: 60))
  .listen((metrics) {
    // Forward to Synheart Core for on-device HSI computation
  });

Research Applications

Collect biometric data for scientific studies:
final synheart = SynheartWear(
  config: SynheartWearConfig(
    enableLocalCaching: true,
    enableEncryption: true,
  ),
);

final whoopProvider = WhoopProvider(
  appId: 'your-app-id',
  userId: 'user-123',
);

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