Personal fitness data bridge

Your fitness data.
One honest timeline.

ChlorineCloud relays FORM swims, MyWhoosh rides, and Withings body composition into Garmin Connect.

The bridge, at a glance

Reliable activity delivery with automatic retry and backfill.

FORM → Garmin
Live

Original swim data is retrieved, validated, Garminized, and delivered after each activity.

Total relays17
Past 7 days1
LatestWithin the past week
Withings → Garmin
Live

Weight and available body-composition metrics move to Garmin moments after a weigh-in.

Total relays84
Past 7 days7
LatestWithin the past 24 hours
MyWhoosh → Garmin
Live

Original cycling FIT files are fetched, Garminized, and retained for automatic retry and backfill.

Total relays7
Past 7 days1
LatestWithin the past week

Recent relays

Privacy-safe activity
  • Withings measurementDelivered to Garmin Connect
  • MyWhoosh rideDelivered to Garmin Connect
  • FORM swimDelivered to Garmin Connect

Architecture

Event-driven
01 / SOURCESFORM + MyWhoosh + WithingsOriginal data retained
02 / EDGECloudflareWorker, D1 and R2
03 / RELAYCloud Run → GarminValidation and delivery

Scheduled reconciliation catches missed events; idempotency prevents duplicate uploads.

Why it exists

Good platforms. Stubborn data silos.

FORM captures rich swim data, MyWhoosh records full indoor rides, and Withings measures body composition. ChlorineCloud builds one reliable route into Garmin's training ecosystem.

Under the hood

Small system, real engineering
Event-driven webhooksOAuth token rotation AES-GCM encrypted credentialsFIT validation and identity rewrite Idempotent Garmin uploadsToken-expiry alerts and backfill

Public status. Private athlete.

Only aggregate service health and rounded relative times appear here. Swim, ride and body details, identifiers, filenames, hashes, credentials, and exact timestamps remain private.

Changelog

v0.4Event-driven MyWhoosh ride relay with reconnect backfill
v0.3Event-driven Withings body composition
v0.2Garmin FIT device-identity rewrite
v0.1Automated FORM swim relay