Convex Wearables
Documentation for the Convex component that syncs wearable data into your app.
A Convex component for wearable device integrations. Sync workouts, sleep, time-series metrics, and daily summaries from Garmin, Strava, Whoop, Polar, Suunto, and normalized mobile SDK payloads—or generate them with Synth—into a consistent schema.
Project origins
Convex Wearables is an independent Convex component inspired by Open Wearables. It shares the broad goal of providing one provider-neutral layer for wearable data, implemented here with Convex-native schemas, transactions, workflows, reactivity, and component APIs.
What you get
- OAuth flows and provider connection lifecycle
- Cloud-provider sync for Garmin, Strava, Whoop, Polar, and Suunto
- Query APIs for workouts, sleep, summaries, and time-series data
- Configurable time-series retention and rollups
- Garmin webhook support and normalized SDK push ingestion for Apple HealthKit, Samsung Health, and Google Health Connect
- Deterministic, explicitly enabled fixtures from the first-class Synthetic provider
- A shared storage model that works across syncs, webhooks, and mobile payloads
Start here
Installation
Install the component, mount it in Convex, and create your client.
Quickstart
Start reading workouts, summaries, and time-series data.
Synthetic Data
Generate deterministic workouts, sleep, time series, and summaries.
Storage Policies
Control raw retention, rollups, presets, and per-user assignment.
Client API
Browse the public query, mutation, and action helpers.
Documentation map
Getting Started
Guides
Reference
Who this is for
This documentation is written for teams integrating wearable data into a Convex backend and wanting:
- a production path for Garmin, Strava, Whoop, Polar, and Suunto
- normalized ingestion for Apple Health, Samsung Health, and Google Health Connect through their own apps
- deterministic development and demo data without a connected device
- clear control over time-series row growth and retention cost