How to Collect Data from Garmin, Apple Health, and Whoop in One Place Without the Headache
Imagine this: you've decided to build a fitness tracker or biohacking app. And then the "fun" begins. To integrate your service with Garmin, you need to go through seven circles of hell with their API. For Apple Health, you'll need to write native code for iOS. For Google Health Connect — for Android. In the end, instead of building cool features, you spend six months dealing with OAuth authorizations, different JSON formats, and converting miles to kilometers.
The Open Wearables project is trying to solve this problem radically. The team is building an open-source platform that handles all the messy integration work with wearables. You get a single unified API, while all the vendor complexity stays under the hood.
Why This When There Are Ready-Made SDKs
Usually developers choose between two paths: build integrations themselves or pay cloud aggregators like Terra or Rook. The first option is slow and expensive to maintain. The second means dependency on an external service and monthly bills per user.
Open Wearables offers a third path: a self-hosted solution. You deploy the platform on your own server, data stays with you, and you don't pay any fees. Plus, the project doesn't just pass data through — it normalizes it to a unified standard. It doesn't matter if heart rate comes from Suunto watches or an Oura ring — in your backend it will look identical.
What the Platform Can Do Now
The project is in early stages, but the basic skeleton is already quite functional. Here's what you can try right now:
- Unified developer dashboard. After launching via Docker, you get an admin panel where you can manage users, generate API keys, and monitor data sync status.
- Ready-made authorization flows. The platform handles the OAuth dance with Garmin, Polar, and Suunto. You just generate a link for the user, they log in with their provider, and data starts flowing into your database.
- Mobile SDKs. For those working with data directly on the phone, there are native libraries for iOS (Swift), Android (Kotlin), and even a Flutter wrapper. This is critical for Apple Health, whose data can't be fetched simply via a cloud request.
- Background synchronization. This is handled by FastAPI and Celery. The system automatically polls providers and updates activity and workout metrics.
Technical Stack and Architecture
The developers didn't reinvent the wheel and built the project on proven tools. The backend is written in FastAPI — the standard for modern Python services, fast and with excellent Swagger auto-documentation (available right after launch).
PostgreSQL is used for data storage, and Redis for task queues and caching. The admin panel frontend is built with React using TanStack Router. An interesting point: the authors emphasize that the platform is designed as single-tenant. This means one instance serves one organization. No extra complexity with access rights separation between different companies within a single database.
AI Features: Future Plans
The most interesting thing on the roadmap is Health Insights. The developers plan to add an automation layer based on natural language. The idea is that you can write a condition in text: "If a user's resting heart rate has increased by 20% over three days, send a webhook." The system will interpret this itself and set up the trigger.
They also promise an AI Health Assistant — a chat widget you can embed in your app. The user will be able to ask: "How did I sleep this week compared to last week?", and the AI will analyze the accumulated data from the Open Wearables database.
How to Launch and Test
If you have Docker installed, you can spin up the project in literally a couple of minutes. The instructions are straightforward:
- Clone the repository:
git clone https://github.com/the-momentum/open-wearables.git cd open-wearables - Copy the example configs:
cp ./backend/config/.env.example ./backend/config/.env cp ./frontend/.env.example ./frontend/.env - Start it up:
docker compose up -d
After that, the portal opens on port 3000, and the API on 8000. To avoid searching for real devices for testing, you can run the command make seed, which will populate the database with fake users and workouts.
Who Should Take a Look at This Project
Open Wearables is a great find for Health & Fitness startups. If you're building a corporate wellness portal, a coaching app, or a research project that needs to collect data from different devices, this will save you hundreds of development hours.
Of course, the project is still young (pre-1.0 version), and the API may change. But open source code and self-hosting capability outweigh these risks. If you don't want to hand over users' confidential medical data to third-party proprietary services, this tool is probably the best thing currently available in open source for such tasks.
By the way, the team has an active Discord community where you can directly chat with maintainers. If you decide to implement it — check it out, they respond pretty quickly.
Related projects