openfit  by FlavioAdamo

Analyze Fitbit data with a desktop dashboard and AI assistant

Created 1 month ago
259 stars

Top 97.7% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a private, desktop-first Electron dashboard and AI assistant for Fitbit data, leveraging the Google Health API. It targets Fitbit users seeking a more robust local interface for analyzing their health metrics, offering a streamlined experience and AI-powered insights without relying solely on the mobile app. The primary benefit is a consolidated, privacy-focused desktop view of health data, enhanced by an integrated AI assistant.

How It Works

OpenFit acts as a desktop client that ingests data via the Google Health API v4, with a fallback to the legacy Fitbit Web API (deprecated Sept 2026). Data flows from Fitbit devices through the mobile app's cloud sync to the Google Health API, which OpenFit then accesses. The application utilizes React, shadcn/Radix, and Tailwind CSS v4 for its adaptive interface. A key feature is the integrated Codex-powered assistant, which communicates with a local app-server, processing normalized health metrics without exposing sensitive credentials.

Quick Start & Requirements

  • Primary install/run command: npm install followed by npm run dev for development. npm run build bundles the application, and npm run dist packages it for distribution.
  • Prerequisites: Node.js 22+ and npm 10+ are required. For the health assistant functionality, Codex Desktop and a signed-in Codex account are necessary.
  • Setup: Requires creating a Google Cloud project, enabling the Google Health API, configuring an OAuth consent screen (External audience, with the Fitbit Google account added as a test user), adding specific read-only Google Health scopes, creating a Web application OAuth client, and registering the redirect URI http://127.0.0.1:42813/oauth/callback.
  • Links: Official Google Health API and Google OAuth setup guides are referenced for detailed configuration.

Highlighted Details

  • Features a Codex-powered AI assistant integrated via assistant-ui for querying health data.
  • Employs an adaptive interface that dynamically displays metrics and views based on data availability.
  • Includes a data normalization layer to abstract provider-specific data formats.
  • Supports a demo mode that functions without requiring user configuration or API access.
  • Utilizes modern frontend technologies including React, shadcn/Radix, and Tailwind CSS v4.

Maintenance & Community

The project is described as complete and buildable. No specific details regarding maintainers, community channels (e.g., Discord, Slack), or a public roadmap were provided in the README.

Licensing & Compatibility

The license is not explicitly stated. The project emphasizes personal use and development, noting that a public release would necessitate completing Google's verification and security review processes. Commercial use or linking with closed-source applications may require further investigation into licensing implications.

Limitations & Caveats

OpenFit cannot perform initial device pairing, firmware updates, or direct phone-to-device synchronization; these functions remain with the official Fitbit mobile application. Accessing personal data requires a complex OAuth client setup within Google Cloud. The security of the OAuth Client Secret is suitable for personal use but is not considered a durable global secret for public distribution, necessitating a backend service for production releases. The legacy Fitbit Web API integration is slated for deprecation in September 2026.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
50 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.