3 pointsby diegoscara4 hours ago1 comment
  • diegoscara4 hours ago
    For anyone analyzing their own health and fitness data on their terms, I created garmin-health-data: https://github.com/diegoscarabelli/garmin-health-data

    One CLI command pulls any date range of your Garmin Connect data as local files (preserved as an offline backup) AND loads them into a single SQLite database. Multi-account in one DB, gap-fills automatically, fully idempotent on reprocess.

    The standout is the schema: 33 normalized tables with inline column comments preserved into SQLite, an EAV time-series table that captures every FIT-file metric (power, running/cycling/swimming dynamics, etc.), dedicated tables for each sport, and 7 sleep tables down to 1-minute intervals. Pleasant to query by hand and very effective as a data source for an LLM.

    Garmin (via Cloudflare) has been making it increasingly difficult to get your own data out through anything resembling a decent API. The hacks bundled in garmin-health-data (self-contained SSO client, five fallback login strategies, browser-TLS impersonation, anti-rate-limit pause) resolve auth and 429 issues that have broken other tools, including older projects like GarminDB.

    Contributions and feedback welcome, particularly around specialized sports.