Getting Started
Installation
Install the component, register it in Convex, and create your shared client.
Install the package
npm install @clipin/convex-wearables convexconvex is a peer dependency and should be >= 1.17.0.
Register the component
// convex/convex.config.ts
import { defineApp } from "convex/server";
import wearables from "@clipin/convex-wearables/convex.config";
const app = defineApp();
app.use(wearables);
export default app;Create a shared client
// convex/wearables.ts
import { WearablesClient } from "@clipin/convex-wearables";
import { components } from "./_generated/api";
export const wearables = new WearablesClient(components.wearables, {
providers: {
strava: {
clientId: process.env.STRAVA_CLIENT_ID!,
clientSecret: process.env.STRAVA_CLIENT_SECRET!,
},
garmin: {
clientId: process.env.GARMIN_CLIENT_ID!,
clientSecret: process.env.GARMIN_CLIENT_SECRET!,
},
},
});Provider names
The component recognizes these provider keys:
garminsuuntopolarwhoopstravaapplesamsunggoogle
In practice today:
- Garmin, Strava, Whoop, Polar, and Suunto use OAuth-based cloud integrations
- Apple, Samsung, and Google are supported through normalized SDK/mobile pushes
- Time-series storage policies matter today for Garmin, Whoop, Suunto, Apple, Samsung, and Google
See Provider Support for the current matrix.