How Primed Combines Garmin, Oura, WHOOP and Apple Health
Most athletes record workouts on one device, sleep on another, and daily steps on a third. Here is how Primed ingests, normalizes, and reconciles data across disparate wearable ecosystems into one continuous timeline.

If you have trained seriously for more than a couple of seasons, your nightstand probably looks like an electronics store. You record your interval sessions and GPS rides on a Garmin bike computer. You wear an Oura Ring or WHOOP strap to track nocturnal heart rate variability and recovery. Your Apple Watch logs background movement, resting heart rate, and walks during the workday.
Individually, these devices are exceptional pieces of hardware. Together, they create a fragmented puzzle.
Garmin calculates training status from power files, but knows little about your deep sleep architecture. Oura knows your nocturnal body temperature was elevated by 0.4°C, but cannot evaluate yesterday’s 4x8-minute threshold intervals. Apple Health aggregates everything, but offers little coaching synthesis beyond closing rings.
When building Primed, solving this fragmentation was the prerequisite for building an intelligent coach.
Key takeaways
- Endurance athletes collect fragmented telemetry across multiple specialist wearables.
- Primed uses Model Context Protocol (MCP) servers and webhooks for ingestion.
- Raw primitives (rMSSD, RHR, temperature) replace conflicting proprietary readiness scores.
- Normalizes timezones, deduplicates overlapping workouts, and encrypts health data at rest.
The Model Context Protocol (MCP) foundation
To connect disparate platforms without building a monolithic, brittle backend, Primed uses dedicated Model Context Protocol (MCP) servers for each wearable ecosystem.
Rather than having a single server attempt to parse dozens of proprietary APIs, each platform has an isolated, domain-specific integration layer:
primed-mcp-garmin: Handles Garmin Connect push/ping webhooks, parses binary FIT files (power streams, cadence, heart rate, L/R balance), and computes training effect metrics.primed-mcp-oura: Ingests Oura v2 sleep stages, nocturnal HRV averages, baseline deviations, and skin temperature trends.primed-mcp-whoop: Ingests continuous recovery scores, day strain, sleep debt calculations, and nocturnal respiratory rate.primed-pqs(Physiology Query Service): Decrypts and aggregates Apple HealthKit samples (Workouts, SDNN HRV, SpO2, Resting HR) synced from the native iOS app.
When the AI coach evaluates your training, it queries these MCP tools in parallel, pulling exact physiological metrics into the reasoning context in real time.
Bypassing proprietary scores for raw physiological primitives
One of the biggest traps in fitness tech is relying on brand-specific scores. Garmin gives you a "Training Readiness" score from 1–100. Oura gives you a "Readiness Score." WHOOP provides a percentage recovery.
These numbers often contradict each other because each company weights different variables according to its own proprietary formula. If Garmin says you are primed to train, but WHOOP says you are red, which one is right?
Primed largely looks past these branded composite scores and operates directly on raw physiological primitives:
- Nocturnal HRV (Root Mean Square of Successive Differences / rMSSD): Evaluated against a rolling 30-day baseline rather than an arbitrary 1–100 scale.
- Resting Heart Rate (RHR): Evaluated for acute deviations against your multi-week nadir.
- Skin Temperature Deviation: A powerful early-warning indicator of acute systemic inflammation or impending illness.
- Sleep Architecture: Time in restorative deep (slow-wave) and REM sleep compared to total time in bed.
- Cumulative External Work (TSS / Training Stress Score): Derived from true power and heart rate streams rather than estimates.
By normalizing these primitives into a unified physiological schema, Primed can assess systemic strain objectively regardless of which combination of devices you wear.
Solving the duplicate workout problem
Athletes frequently record the same workout across multiple platforms. You might record a gravel ride on your Garmin Edge, which syncs to Garmin Connect, while simultaneously wearing an Apple Watch that records the same session to HealthKit, and a WHOOP strap that auto-detects the activity.
If a coaching app blindly adds these together, your calculated training load for the day instantly triples.
Primed solves this through an activity deduplication pipeline:
- Timestamp & Duration Matching: Activities starting within a 5-minute window with overlapping durations are automatically clustered.
- Fidelity Hierarchy: Primed prioritizes direct sensor streams over secondary estimates. A cycling activity with calibrated dual-sided power meter data from a Garmin FIT file supersedes an optical wrist-based estimate from a smartwatch.
- Telemetry Enrichment: The system combines the best telemetry from each source—taking accurate power and cadence from Garmin while preserving continuous biometric telemetry from WHOOP or Apple Health.
Privacy, encryption, and zero data selling
Health telemetry is deeply personal data. In Primed, health data at rest is encrypted in Firestore using AES-256 with keys managed through Google Secret Manager.
We do not sell data, we do not train public foundational models on your private biometric streams, and our client applications use strict consent-gated telemetry. If you disconnect a service or delete your account, your data is wiped permanently.
A single, unified picture
The goal of integrating Garmin, Oura, WHOOP, and Apple Health is not to create another cluttered dashboard with twenty charts.
The goal is to turn fragmented streams of numbers into a single, confident answer to the only question that matters when you wake up:
Given everything you did yesterday and how your body recovered overnight, what should you do today?
