StrykerLabs GmbH · Graz
Wearable Dashboard
Dashboard de salud para datos wearable en colaboración con StrykerLabs GmbH, Graz. Frecuencia cardíaca, sueño y actividad — visualizados en una interfaz de grado médico.

De un vistazo
- Instituto
- eHealth, FH JOANNEUM Graz
- Socio
- Strykerlabs GmbH
- Dirección
- DI Dr. Markus Bödenler, BSc
- Equipo
- Christian Briegler, Hannes Dieter, Patrick Hennes, Alexander Taupe
- Periodo
- 10/2025 a 02/2026
Mi rol
Integración de Garmin y dashboard de integración
El problema
La investigación en salud digital depende cada vez más de los wearables para el seguimiento continuo, como en el proyecto europeo LETHE. Ahí aparece un muro práctico: cada participante tiene un dispositivo distinto, cada fabricante expone una API distinta y cada uno devuelve los datos con otra forma. La alternativa es dar el mismo reloj a todo el mundo, lo cual es caro y altera el comportamiento.
Cómo funciona
- Conecté la Garmin Health API de principio a fin: el flujo de autorización OAuth 2.0 PKCE y la ingesta por webhooks en tiempo real en lugar de polling. Garmin envía datos cuando los tiene, así que la interfaz tiene que aceptar y validar un payload que no ha pedido, en un momento que no ha elegido.
- Construí el dashboard de integración: estado de conexión por fabricante, navegación por sesiones y la superficie de configuración.
- La arquitectura separa comunicación con la API, transformación de datos y generación de salida, de modo que añadir un fabricante no obliga a reescribir el pipeline.
- La armonización de datos, la integración de Catapult y el pipeline de backend los desarrollaron otros miembros del equipo.
Stack
TypeScript, HTML y CSS en el frontend. PostgreSQL para los datos en bruto, Python para armonización y transformación, AWS S3 para la adquisición de datos, Git, Docker y Azure para la infraestructura.
Lo que me llevo
La ingesta por webhook cambió mi forma de pensar las interfaces. Con polling decides tú cuándo llegan los datos y para qué estás preparado. Con push te entregan algo en un momento que no has elegido, con una forma que tienes que verificar antes de fiarte, y cada suposición sobre el orden se convierte calladamente en un bug.
Resultado
La interfaz permite una adquisición de datos independiente del dispositivo. Los datos de distintos fabricantes acaban en una representación interna consistente, lo que los hace comparables entre dispositivos, reduce el preprocesamiento manual y permite añadir más fabricantes sin tocar lo que ya funciona. Publicado por la FH JOANNEUM.
