Cómo Recopilar Datos de Garmin, Apple Health y Whoop en un Solo Lugar Sin Complicaciones
Imagina esto: has decidido crear una aplicación de seguimiento de fitness o biohacking. Y entonces comienza la "diversión". Para integrar tu servicio con Garmin, necesitas pasar por siete círculos del infierno con su API. Para Apple Health, tendrás que escribir código nativo para iOS. Para Google Health Connect — para Android. Al final, en lugar de crear funciones geniales, dedicas seis meses lidiando con autorizaciones OAuth, diferentes formatos JSON y convirtiendo millas a kilómetros.
El proyecto Open Wearables está intentando resolver este problema de manera radical. El equipo está construyendo una plataforma de código abierto que maneja todo el trabajo de integración complicado con los wearables. Obtienes una única API unificada, mientras que toda la complejidad del proveedor se mantiene bajo el capó.
¿Por Qué Esto Cuando Hay SDKs Ya Hechos
Por lo general, los desarrolladores eligen entre dos caminos: construir integraciones ellos mismos o pagar agregadores en la nube como Terra o Rook. La primera opción es lenta y costosa de mantener. La segunda significa dependencia de un servicio externo y facturas mensuales por usuario.
Open Wearables ofrece un tercer camino: una solución autoalojada. Despliegas la plataforma en tu propio servidor, los datos se quedan contigo y no pagas ninguna tarifa. Además, el proyecto no solo pasa los datos — los normaliza a un estándar unificado. No importa si la frecuencia cardíaca viene de relojes Suunto o de un anillo Oura — en tu backend se verá idéntico.
Lo Que la Plataforma Puede Hacer Ahora
El proyecto está en etapas tempranas, pero el esqueleto básico ya es bastante funcional. Esto es lo que puedes probar ahora mismo:
- Panel de desarrollador unificado. Después de lanzar vía Docker, obtienes un panel de administración donde puedes gestionar usuarios, generar claves API y monitorear el estado de sincronización de datos.
- Flujos de autorización listos para usar. La plataforma maneja el baile de OAuth con Garmin, Polar y Suunto. Solo generas un enlace para el usuario, él inicia sesión con su proveedor y los datos comienzan a fluir a tu base de datos.
- SDKs móviles. Para quienes trabajan con datos directamente en el teléfono, hay bibliotecas nativas para iOS (Swift), Android (Kotlin) e incluso un wrapper para Flutter. Esto es crítico para Apple Health, cuyos datos no se pueden obtener simplemente mediante una solicitud en la nube.
- Sincronización en segundo plano. Esto es manejado por FastAPI y Celery. El sistema sondea automáticamente a los proveedores y actualiza las métricas de actividad y entrenamiento.
Stack Técnico y Arquitectura
Los desarrolladores no reinventaron la rueda y construyeron el proyecto con herramientas probadas. El backend está escrito en FastAPI — el estándar para servicios modernos de Python, rápido y con excelente documentación automática Swagger (disponible justo después del lanzamiento).
Se usa PostgreSQL para el almacenamiento de datos y Redis para colas de tareas y caché. El frontend del panel de administración está construido con React usando TanStack Router. Un punto interesante: los autores enfatizan que la plataforma está diseñada como multi-inquilino. Esto significa que una instancia sirve a una organización. Sin complejidad extra con separación de derechos de acceso entre diferentes empresas dentro de una única base de datos.
Funciones de IA: Planes Futuros
Lo más interesante en la hoja de ruta es Health Insights. Los desarrolladores planean agregar una capa de automatización basada en lenguaje natural. La idea es que puedas escribir una condición en texto: "Si la frecuencia cardíaca en reposo de un usuario ha aumentado un 20% en tres días, envía un webhook." El sistema lo interpretará por sí mismo y configurará el disparador.
También prometen un Asistente de Salud con IA — un widget de chat que puedes incrustar en tu aplicación. El usuario podrá preguntar: "¿Cómo dormí esta semana comparada con la semana pasada?", y la IA analizará los datos acumulados de la base de datos de Open Wearables.
Cómo Lanzar y Probar
Si tienes Docker instalado, puedes poner en marcha el proyecto literalmente en un par de minutos. Las instrucciones son sencillas:
- Clona el repositorio:
git clone https://github.com/the-momentum/open-wearables.git cd open-wearables - Copia las configuraciones de ejemplo:
cp ./backend/config/.env.example ./backend/config/.env cp ./frontend/.env.example ./frontend/.env - Inícialo:
docker compose up -d
Después de eso, el portal se abre en el puerto 3000 y la API en el 8000. Para evitar buscar dispositivos reales para pruebas, puedes ejecutar el comando make seed, que poblará la base de datos con usuarios y entrenamientos falsos.
Quién Debería Echarse un Vistazo a Este Proyecto
Open Wearables es un gran hallazgo para startups de Salud y Fitness. Si estás construyendo un portal de bienestar corporativo, una aplicación de coaching o un proyecto de investigación que necesita recopilar datos de diferentes dispositivos, esto te ahorrará cientos de horas de desarrollo.
Por supuesto, el proyecto aún es joven (versión pre-1.0) y la API puede cambiar. Pero el código de código abierto y la capacidad de autoalojamiento superan estos riesgos. Si no quieres entregar los datos médicos confidenciales de los usuarios a servicios propietarios de terceros, esta herramienta es probablemente lo mejor disponible actualmente en código abierto para tales tareas.
Por cierto, el equipo tiene una comunidad activa en Discord donde puedes chatear directamente con los mantenedores. Si decides implementarlo — échale un vistazo, responden bastante rápido.
Proyectos relacionados