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.
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.
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 ๐
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
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
bash
make initThis will create:
- An admin user account (admin@admin.com / secret123)
- 10 test users
- Sample activity data for test users
Open http://localhost:3000 to access the developer portal and create API keys.
Open http://localhost:8000/docs in your browser to explore the interactive Swagger UI.
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
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
Access health data through a consistent REST API regardless of the source device.
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
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.
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 our Discord community to connect with other developers, get help, share ideas, and stay updated on the latest developments:
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
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.