Self-hosted platform to unify wearable health data through one AI-ready API.
See the codeDocumentation: https://openwearables.io/docs
[!TIP] Curious what we're cooking right now? Take a look at our roadmap ✨
Open-source platform that unifies wearable device data from multiple providers behind a single API and makes it available to AI. Build health applications faster with normalized health data, webhooks, and mobile SDKs, and connect LLMs and AI agents to your users' wearable data through the built-in MCP server.
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 each provider (e.g., Garmin, Whoop, Apple Health), you can use a single platform to access normalized health data.
[!IMPORTANT] For Individuals: This platform isn't just for developers - individuals can self-host it to take control of their own wearable data, stored on their own infrastructure. Connect your devices, explore your health metrics through the unified API, or chat with your data in Claude or Cursor via the MCP server.
For Developers building health apps:
docker compose upThe Problem It Solves:
Building a health app that supports multiple wearables typically requires:
Open Wearables handles this complexity so you can focus on building your product 🚀
Get Open Wearables up and running in minutes.
Clone the repository:
git clone https://github.com/the-momentum/open-wearables.git
cd open-wearables
Configure environment variables:
Backend configuration:
cp ./backend/config/.env.example ./backend/config/.env
Frontend configuration:
cp ./frontend/.env.example ./frontend/.env
Start the application
Using Docker (Recommended):
The easiest way to get started is with Docker Compose:
docker compose up -d
For local development setup without Docker take a look at docs
Production:
docker compose upbuilds from local source and is meant for development. For production, run the officialthemomentum/open-wearables-backendandthemomentum/open-wearables-frontendimages pinned to a stable release tag (e.g.0.7.0), notnightlyor a build ofmain. See Deploying with Docker.
Log in to the developer portal:
An admin account is automatically created on startup using the ADMIN_EMAIL and ADMIN_PASSWORD environment variables (defaults: admin@admin.com / your-secure-password). The seed runs only while the developer table is empty: once any developer account exists it is skipped, so changing ADMIN_PASSWORD later does not update an existing account - change the default password from the developer portal right after your first login. To add further accounts, invite them from the developer portal.
Open http://localhost:3000 to access the developer portal and create API keys.
Seed sample data (optional): If you want test users and sample activity data:
make seed
This will create:
View API documentation:
Open http://localhost:8000/docs in your browser to explore the interactive Swagger UI.
See supported providers and data coverage for details.
Connect LLMs and AI agents to wearable data from any supported provider - Garmin, Oura, Whoop, Apple Health, and more - through one normalized data model.
More AI capabilities are on the way - see the roadmap.
One REST API with consistent data regardless of the source device:
Register HTTPS endpoints to get notified when new data arrives for your users. Filter by event type or user, verify signatures, send test events, and inspect delivery attempts. See the webhooks guide.
Native SDKs for push-based health data sync from on-device health stores:
Web-based dashboard for managing your deployment:
Built with:
The platform is designed for self-hosting, meaning each deployment serves a single organization. No multi-tenancy complexity.
Open Wearables sends a small anonymous usage ping once a day (plus one on startup) to help us plan the roadmap and see which providers and features are used. It contains only aggregate, bucketed counts and configuration flags, never health data, user data or credentials. The API logs a notice at startup while telemetry is on.
To turn it off, set TELEMETRY_ENABLED=false (or DO_NOT_TRACK=1) on the backend containers. See the telemetry docs for every field we collect and why.
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:
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. In production, pin the official images to a specific release version (see Deploying with Docker) and follow the changelog for updates.
The backend part of this project was generated from the Python AI Kit.
Built with ❤️ by Momentum
(top 24 of 27)
1,041 followers · starred Jul 2026
670 followers · starred Jan 2026
96 followers · starred Mar 2026
294 followers · starred Jun 2026
Self-hosted platform to unify wearable health data through one AI-ready API.
See the codeDocumentation: https://openwearables.io/docs
[!TIP] Curious what we're cooking right now? Take a look at our roadmap ✨
Open-source platform that unifies wearable device data from multiple providers behind a single API and makes it available to AI. Build health applications faster with normalized health data, webhooks, and mobile SDKs, and connect LLMs and AI agents to your users' wearable data through the built-in MCP server.
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 each provider (e.g., Garmin, Whoop, Apple Health), you can use a single platform to access normalized health data.
[!IMPORTANT] For Individuals: This platform isn't just for developers - individuals can self-host it to take control of their own wearable data, stored on their own infrastructure. Connect your devices, explore your health metrics through the unified API, or chat with your data in Claude or Cursor via the MCP server.
For Developers building health apps:
docker compose upThe Problem It Solves:
Building a health app that supports multiple wearables typically requires:
Open Wearables handles this complexity so you can focus on building your product 🚀
Get Open Wearables up and running in minutes.
Clone the repository:
git clone https://github.com/the-momentum/open-wearables.git
cd open-wearables
Configure environment variables:
Backend configuration:
cp ./backend/config/.env.example ./backend/config/.env
Frontend configuration:
cp ./frontend/.env.example ./frontend/.env
Start the application
Using Docker (Recommended):
The easiest way to get started is with Docker Compose:
docker compose up -d
For local development setup without Docker take a look at docs
Production:
docker compose upbuilds from local source and is meant for development. For production, run the officialthemomentum/open-wearables-backendandthemomentum/open-wearables-frontendimages pinned to a stable release tag (e.g.0.7.0), notnightlyor a build ofmain. See Deploying with Docker.
Log in to the developer portal:
An admin account is automatically created on startup using the ADMIN_EMAIL and ADMIN_PASSWORD environment variables (defaults: admin@admin.com / your-secure-password). The seed runs only while the developer table is empty: once any developer account exists it is skipped, so changing ADMIN_PASSWORD later does not update an existing account - change the default password from the developer portal right after your first login. To add further accounts, invite them from the developer portal.
Open http://localhost:3000 to access the developer portal and create API keys.
Seed sample data (optional): If you want test users and sample activity data:
make seed
This will create:
View API documentation:
Open http://localhost:8000/docs in your browser to explore the interactive Swagger UI.
See supported providers and data coverage for details.
Connect LLMs and AI agents to wearable data from any supported provider - Garmin, Oura, Whoop, Apple Health, and more - through one normalized data model.
More AI capabilities are on the way - see the roadmap.
One REST API with consistent data regardless of the source device:
Register HTTPS endpoints to get notified when new data arrives for your users. Filter by event type or user, verify signatures, send test events, and inspect delivery attempts. See the webhooks guide.
Native SDKs for push-based health data sync from on-device health stores:
Web-based dashboard for managing your deployment:
Built with:
The platform is designed for self-hosting, meaning each deployment serves a single organization. No multi-tenancy complexity.
Open Wearables sends a small anonymous usage ping once a day (plus one on startup) to help us plan the roadmap and see which providers and features are used. It contains only aggregate, bucketed counts and configuration flags, never health data, user data or credentials. The API logs a notice at startup while telemetry is on.
To turn it off, set TELEMETRY_ENABLED=false (or DO_NOT_TRACK=1) on the backend containers. See the telemetry docs for every field we collect and why.
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:
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. In production, pin the official images to a specific release version (see Deploying with Docker) and follow the changelog for updates.
The backend part of this project was generated from the Python AI Kit.
Built with ❤️ by Momentum
(top 24 of 27)
1,041 followers · starred Jul 2026
670 followers · starred Jan 2026
96 followers · starred Mar 2026
294 followers · starred Jun 2026