Menu โ–พ โ–ด

Tree [b764b5] main /
 History

HTTPS access


File Date Author Commit
 .cursor 2025-11-18 Bartek Michalak Bartek Michalak [e2d94d] Add Mintlify docs (#11)
 .github 2025-11-19 Grzegorz Grzegorz [f2e45b] feat: Add React frontend with TanStack Router a...
 .vscode 2025-12-03 Sebastian Kalisz Sebastian Kalisz [e815ed] Added providers settings (#84)
 backend 2025-12-09 Bartek Michalak Bartek Michalak [b764b5] Add dashboard statistics (#147)
 docs 2025-12-08 Bartek Michalak Bartek Michalak [5b1e31] Add Support, Architecture sections, restructure...
 frontend 2025-12-09 Bartek Michalak Bartek Michalak [b764b5] Add dashboard statistics (#147)
 .dockerignore 2025-10-30 KaliszS KaliszS [63d5c1] Created project from Python AI Kit
 .gitignore 2025-11-27 Grzegorz Grzegorz [35a43d] fix: Backend auth errors and frontend API integ...
 .pre-commit-config.yaml 2025-12-07 KaliszS KaliszS [64332e] Cleaned pre-commit file
 LICENSE 2025-10-30 KaliszS KaliszS [63d5c1] Created project from Python AI Kit
 Makefile 2025-12-08 Bartosz Michalak Bartosz Michalak [3b93bb] Add series type seeding script and update Makef...
 README.md 2025-12-09 Bartek Michalak Bartek Michalak [347f89] Improve README clarity and formatting (#148)
 docker-compose.yml 2025-12-05 Bartosz Michalak Bartosz Michalak [4ad34c] Add sync action for backend scripts in docker-c...
 prestart.sh 2025-10-30 KaliszS KaliszS [63d5c1] Created project from Python AI Kit

Read Me

Open Wearables

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![PRs Welcome](https://img.shields.io/badge/PRs-Welcome-blue.svg)](https://github.com/the-momentum/open-wearables/issues) ![Built with: FastAPI + React + Tanstack](https://img.shields.io/badge/Built%20with-FastAPI%20%2B%20React%20%2B%20Tanstack-green.svg) [![Discord](https://img.shields.io/badge/Discord-Join%20Chat-5865F2?logo=discord&logoColor=white)](https://discord.gg/qrcfFnNE6H)

Open-source platform that unifies wearable device data from multiple providers and enables AI-powered health insights through natural language automations. Build health applications faster with a single API, embeddable widgets, and intelligent webhook notifications.

What It Does

Open Wearables provides a unified API and developer portal to connect and sync data from multiple wearable devices and fitness platforms. Instead of implementing separate integrations for Garmin, Fitbit, Oura, Whoop, Strava, and Apple Health, you can use a single platform to access normalized health data and build intelligent health insights through AI-powered automations.

image

[!IMPORTANT]
For Individuals: This platform isn't just for developers - individuals can self-host it to take control of their own wearable data. Connect your devices, explore your health metrics through the unified API, and stay tuned for upcoming features like the AI Health Assistant and personal health insights automations. Best of all, your data stays on your own infrastructure, giving you complete privacy and control.

Why Use It

For Developers building health apps:
- ๐Ÿ”Œ Integrate multiple wearable providers through one API instead of maintaining separate implementations
- ๐Ÿ“Š Access normalized health data across different devices (heart rate, sleep, activity, steps, etc.)
- ๐Ÿ  Self-hosted solution - deploy on your own infrastructure with full data control
- ๐Ÿš€ No third-party dependencies for core functionality - run it locally with docker compose up
- ๐Ÿค– Build AI-powered health insights and automations using natural language (coming soon)
- ๐Ÿงฉ Embeddable widgets for easy integration into your applications (coming soon)

The Problem It Solves:

Building a health app that supports multiple wearables typically requires:
- Significant development effort per provider (Garmin, Fitbit, Oura, etc.) to implement OAuth flows, data mapping, and sync logic
- Managing different OAuth flows and APIs for each service
- Handling various data formats and units
- Maintaining multiple SDKs and dealing with API changes

Open Wearables handles this complexity so you can focus on building your product ๐Ÿš€

Use Cases

  • ๐Ÿƒ Fitness Coaching Apps: Connect user wearables to provide personalized training recommendations. Running coaches can create users, share connection links via WhatsApp, and test AI insights capabilities
  • ๐Ÿฅ Healthcare Platforms: Aggregate patient health data from various devices and set up automations for health alerts
  • ๐Ÿ’ช Wellness Applications: Track and analyze user activity across different wearables with AI-powered insights
  • ๐Ÿ”ฌ Research Projects: Collect standardized health data from multiple sources
  • ๐Ÿงช Product Pilots: Non-technical product owners can test platform functionality by sharing connection links with users without needing their own app
  • ๐Ÿ‘ค Personal Use: Individuals can self-host the platform to connect their own wearables, chat with their health data using the AI Health Assistant, and set up personal health insights - all with complete data privacy and control

Getting Started

Get Open Wearables up and running in minutes.

  1. Clone the repository:
    bash git clone https://github.com/the-momentum/open-wearables.git cd open-wearables

  2. Configure environment variables:

Backend configuration:
bash cp ./backend/config/.env.example ./backend/config/.env

Frontend configuration:
bash cp ./frontend/.env.example ./frontend/.env

  1. Start the application

Using Docker (Recommended):

The easiest way to get started is with Docker Compose:
bash docker compose up -d

For local development setup without Docker take a look at docs

  1. Seed sample data (optional but recommended):
    If you're using Docker, seed the database with sample data including an admin account:
    bash make init

This will create:
- An admin user account (admin@admin.com / secret123)
- 10 test users
- Sample activity data for test users

  1. Access the developer portal:

Open http://localhost:3000 to access the developer portal and create API keys.

  1. View API documentation:

Open http://localhost:8000/docs in your browser to explore the interactive Swagger UI.

Core Features

Developer Portal Dashboard

Web-based dashboard for managing your integration:
- ๐Ÿ“ˆ General Statistics: View number of users and data points at a glance
- ๐Ÿ‘ฅ User Management: Add users via the portal or through the API
- ๐Ÿ“‹ User Details: View connected data sources, integration status, and user metrics with visualizations
- ๐Ÿ”‘ API Key Management: Generate and manage credentials in the Credentials tab

Health Insights & Automations (coming soon)

The platform's most powerful feature - define intelligent health insights using natural language:
- ๐Ÿ’ฌ Natural Language Conditions: Describe when notifications should be triggered in plain English
- ๐Ÿ”” Webhook Notifications: Configure your backend endpoint to receive real-time health insights
- ๐Ÿงช Test Automation: Run dry runs on historical data to see how automations work in practice
- ๐Ÿ‘ค Human-in-the-Loop: Mark incorrect AI interpretations during testing to continuously improve the system
- โœจ Improve Description: AI-powered suggestions to refine your automation descriptions
- ๐Ÿ“œ Automation Logs: Review past automation triggers and provide feedback

AI Health Assistant (coming soon)

  • ๐Ÿ’ฌ Interactive chat interface for debugging and exploring user data
  • ๐Ÿงฉ Embeddable widget that can be integrated into any app with just a few lines of code
  • ๐Ÿ”„ Customizable AI models (swap models to match your needs)
  • ๐Ÿ” Natural language queries about user health metrics

Unified API

Access health data through a consistent REST API regardless of the source device.

Provider Support

  • โ˜๏ธ Cloud-based: Garmin, Suunto, Polar (more comming soon!)
  • ๐Ÿ“ฑ SDK-based: Apple Health (via XML export and webhooks)

OAuth Flow Management

Simplified connection process for end users:
1. Generate a connection link for your user (or use the SDK widget)
2. User authenticates with their wearable provider
3. Data automatically syncs to your platform
4. Access via unified API

SDK & Widgets (coming soon)

  • ๐Ÿ”Œ Connection Widget: Allow users to connect their wearables directly from your app
  • ๐Ÿค– AI Health Assistant Widget: Embed the AI chat interface for user health queries
  • ๐Ÿ Flutter SDK: Handles HealthKit permissions, background sync, and data normalization

Architecture

Built with:
- ๐Ÿ Backend: FastAPI (Python)
- ๐Ÿ—„๏ธ Database: PostgreSQL
- ๐Ÿ” Authentication: Self-contained (no external auth services required)
- ๐Ÿ“ก API Style: RESTful with OpenAPI/Swagger documentation

The platform is designed for self-hosting, meaning each deployment serves a single organization. No multi-tenancy complexity.

Development Roadmap

Available:
- Developer portal
- User management (via API and developer portal)
- OAuth flow for Garmin, Polar, and Suunto
- Workout data sync and API access for Garmin, Polar, and Suunto

In Development:
- Core health data endpoints
- Health Insights automations
- AI Health Assistant
- Mobile SDK (Flutter)
- Enhanced widget integration

Join the Discord

Join our Discord community to connect with other developers, get help, share ideas, and stay updated on the latest developments:

Discord

Contributing

Contributions are welcome! This project aims to be a community-driven solution for wearable data integration.

See CONTRIBUTING.md for details on:
- ๐Ÿ› ๏ธ Setting up the development environment
- ๐Ÿ“ Code style and testing requirements
- ๐Ÿ”€ Pull request process

License

MIT License - Use it freely in commercial and open-source projects.

Community


Note: This is an early-stage project under active development. APIs may change before version 1.0. We recommend pinning to specific versions in production and following the changelog for updates.


This project was generated from the Python AI Kit.