> ## 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.

# Synheart Wear Overview

> Unified wearable SDK for streaming biometric data across devices and platforms

## 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.

<Note>
  Wondering what data you actually get from each device — and what you don't?
  [Wearable signals](/synheart-wear/signals) is the reality check: the access
  gates, the raw signals, and what the data becomes downstream.
</Note>

## Key Features

### Cross-Platform Support

* **Flutter**: Cross-platform mobile apps (iOS 13+ / Android API 21+)
* **Native Android**: Kotlin SDK with Health Connect integration (Android API 21+; target SDK 34+)
* **Native iOS**: Swift SDK with HealthKit integration (iOS 13.0+)

### 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)**    | ✅       | ✅          | ✅                 | Ready                |
| **Garmin (Cloud)**          | ✅       | ✅          | ✅                 | Ready                |
| **Garmin (Native RTS)**     | ✅       | ✅          | ✅                 | On demand (licensed) |
| **Samsung Health**          | 📋      | 📋         | ❌                 | Planned              |
| **Oura Ring (Cloud OAuth)** | ✅       | ✅          | ✅                 | Ready                |

> **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()`:

```json theme={null}
{
  "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 encryption** — `LocalCache` 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 revoke** — `revokeConsent()` clears active permissions and
  the local cache.

## Architecture

```text theme={null}
┌──────────────────────────────────────────────────────┐
│              Synheart Wear Ecosystem                 │
└──────────────────────────────────────────────────────┘
                         │
        ┌────────────────┼────────────────┐
        │                │                │
┌───────▼────────┐ ┌─────▼─────┐ ┌───────▼────────┐
│ synheart-wear- │ │synheart-  │ │ synheart-wear- │
│    flutter     │ │wear-kotlin│ │     swift      │
│  (Flutter)     │ │ (Android) │ │     (iOS)      │
└────────────────┘ └───────────┘ └────────────────┘
```

### SDK Architecture

Each SDK implements a consistent architecture:

```text theme={null}
┌─────────────────────────┐
│   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.

<Card title="Flutter SDK Documentation" icon="flutter" href="/synheart-wear/flutter">
  Complete guide for Flutter integration
</Card>

**Installation:**

```yaml theme={null}
dependencies:
  synheart_wear: ^0.3.1
```

**Repository:** [synheart-wear-flutter](https://github.com/synheart-ai/synheart-wear-flutter) · [runnable example](https://github.com/synheart-ai/synheart-wear-flutter/tree/main/example)

### Android (Kotlin) SDK

Native Android SDK with Health Connect integration.

<Card title="Kotlin SDK Documentation" icon="android" href="/synheart-wear/kotlin">
  Complete guide for Android integration
</Card>

**Installation:**

```kotlin theme={null}
implementation("com.github.synheart-ai:synheart-wear-kotlin:0.3.0")
```

**Repository:** [synheart-wear-kotlin](https://github.com/synheart-ai/synheart-wear-kotlin)

### iOS (Swift) SDK

Native iOS SDK with HealthKit integration.

<Card title="Swift SDK Documentation" icon="apple" href="/synheart-wear/swift">
  Complete guide for iOS integration
</Card>

**Installation:**

```swift theme={null}
.package(url: "https://github.com/synheart-ai/synheart-wear-swift.git", from: "0.2.0")
```

**Repository:** [synheart-wear-swift](https://github.com/synheart-ai/synheart-wear-swift)

## Stability

Synheart Wear is **pre-1.0**. Minor version bumps may include breaking API changes — pin exact versions (or a tight constraint like `^0.3.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](/synheart-wear/adapters) page.

## Use Cases

### Wellness Apps

Monitor heart rate, HRV, and activity metrics for wellness coaching:

```dart theme={null}
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](/synheart-core/overview) for HSI fusion (focus, capacity, recovery, strain):

```dart theme={null}
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:

```dart theme={null}
final synheart = SynheartWear(
  config: SynheartWearConfig(
    enableLocalCaching: true,
    enableEncryption: true,
  ),
);

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

## Next Steps

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart#track-b">
    Get started in 5 minutes
  </Card>

  <Card title="Flutter SDK" icon="flutter" href="/synheart-wear/flutter">
    Flutter integration guide
  </Card>

  <Card title="Kotlin SDK" icon="android" href="/synheart-wear/kotlin">
    Android integration guide
  </Card>

  <Card title="Swift SDK" icon="apple" href="/synheart-wear/swift">
    iOS integration guide
  </Card>
</CardGroup>

## Community

* **GitHub**: [github.com/synheart-ai](https://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.
