Skip to content

Connecting Data Sources

Paco5687 edited this page Jul 18, 2026 · 2 revisions

Connecting Data Sources

All sources are connected from the in-app Connections page. Enter credentials under Settings first where noted. The background scheduler keeps everything synced automatically once connected.

Glucose

Dexcom Share (real-time) — recommended for live monitoring

The follower feed the Dexcom Follow app uses. Near-real-time, no delay. Sign in with the Dexcom account username/password (Share must be enabled with at least one follower). No developer keys needed.

Dexcom API v3 (historical)

The official API — reliable history, but data arrives with a ~1-hour delay, so it's a backfill/backbone rather than a live feed. Register an app at developer.dexcom.com (production only; sandbox consumes a user slot). Put the client ID/secret in Settings; redirect URI {APP_PUBLIC_URL}/dexcom/callback.

Nightscout

If you run Nightscout, enter its URL (and API secret if not public-readable) on the Connections page.

Insulin / pump

Tandem Source (t:slim X2, Mobi)

Enter your Tandem Source (t:connect) account email + password. Uses the community tconnectsync library to decode boluses, basal, and suspends. Unofficial API — may need updates if Tandem changes it.

Glooko (Tandem & Omnipod 5)

A failsafe treatment source. Glooko aggregates pump data from Tandem and Omnipod 5 (Omnipod arrives with ~1-hour delay). Enter your Glooko email/password + region. The account must not have 2FA enabled.

Wearables

Oura Ring

Register an app at cloud.ouraring.com, put client ID/secret in Settings, register redirect {APP_PUBLIC_URL}/oura-callback, then Connect on Connections. Oura's nightly temperature also drives automatic menstrual-cycle inference.

Fitbit

Register a Personal app at dev.fitbit.com, redirect {APP_PUBLIC_URL}/fitbit-callback, credentials in Settings. Syncs steps, resting HR, sleep, SpO₂, breathing rate, skin temperature.

Imports

  • CSV / Base44 exportsserver/import_base44_export.py imports GlucoseReading, Treatment, OuraDaily, and OuraHeartRate exports with de-duplication.
  • Cycle (phones) — a token-authenticated POST /api/ingest/cycle endpoint accepts Health Auto Export (iOS) JSON or a Lively CSV; the token is shown on the Settings page.

How overlapping sources are handled

Glucose readings from every source pass through a global ±4-minute de-duplication, so Dexcom Share + the official API + Nightscout can all run at once without double-counting. Treatments de-dup by source id and time window.

Clone this wiki locally