Open Wearables
[](LICENSE)
[](https://github.com/the-momentum/open-wearables/issues)

[](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.
[!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.
-
Clone the repository:
bash
git clone https://github.com/the-momentum/open-wearables.git
cd open-wearables
-
Configure environment variables:
Backend configuration:
bash
cp ./backend/config/.env.example ./backend/config/.env
Frontend configuration:
bash
cp ./frontend/.env.example ./frontend/.env
- 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
- 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:
Open http://localhost:3000 to access the developer portal and create API keys.
- 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:
- Generate a connection link for your user (or use the SDK widget)
- User authenticates with their wearable provider
- Data automatically syncs to your platform
- Access via unified API
- ๐ 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:

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.
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.