PulseBase
PulseBase es un dashboard de salud auto-alojado y centrado en la privacidad que transforma datos de Garmin y LibreLinkUp en análisis avanzados mediante aprendizaje automático.
Ficha actualizada 25 sept 2026, 12:27 · upstream 25 sept 2026, 11:56 · release v1.7.0
Qué es PulseBase
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
PulseBase es una plataforma de análisis de salud auto-alojada diseñada bajo principios de privacidad por defecto. A diferencia de los servicios comerciales que almacenan datos en la nube, esta herramienta ejecuta toda su lógica directamente en el servidor del usuario, sincronizando métricas como frecuencia cardíaca, sueño y batería corporal desde dispositivos Garmin y LibreLinkUp. La arquitectura se basa en FastAPI para la API, TimescaleDB para el almacenamiento temporal de series temporales y Docker Compose para la orquestación de servicios, permitiendo una implementación sencilla mediante un único comando `make up`.
El núcleo del sistema reside en su capacidad de procesamiento de datos mediante scikit-learn. No se limita a mostrar gráficos; aplica modelos de aprendizaje automático como Random Forest para predecir el estado de recuperación ('readiness') y algoritmos de K-Means para analizar patrones de la batería corporal. Incluye detección de anomalías basada en Z-scores para parámetros vitales en reposo y correlaciones estadísticas entre el sueño y la variabilidad de la frecuencia cardíaca (HRV), proporcionando insights profundos que los fabricantes no suelen exponer.
La seguridad es un pilar fundamental, implementada a nivel de arquitectura. Las credenciales de sincronización se eliminan de la memoria tras obtener tokens y se almacenan solo como tokens cifrados con Fernet. El sistema incluye autenticación robusta con verificación por correo electrónico, protección CSRF, cookies httpOnly firmadas y hashing de contraseñas con bcrypt. Además, cumple con normativas de privacidad como GDPR/DSGVO, ofreciendo exportación de datos y eliminación de cuentas, y cuenta con escaneos de seguridad automatizados en el ciclo de vida de desarrollo (SAST/SCA).
- Visualización de métricas de salud personalizadas sin depender de la nube comercial.
- Análisis predictivo del estado físico mediante modelos de Random Forest para optimizar el entrenamiento.
- Detección temprana de anomalías fisiológicas como cambios en la frecuencia cardíaca en reposo o SpO₂.
- Gestión segura de datos biométricos con cifrado Fernet y eliminación de credenciales tras el uso.
- Exportación de datos para auditoría médica o cumplimiento normativo GDPR/DSGVO.
- Privacidad por diseño: los datos nunca salen del servidor local del usuario.
- Análisis avanzado con ML: modelos pre-entrenados para 'readiness' y detección de anomalías sin necesidad de conocimientos técnicos profundos.
- Seguridad robusta: autenticación segura, cifrado Fernet para tokens y escaneo continuo de vulnerabilidades en CI.
- Sincronización automática: integración fluida con Garmin Connect y LibreLinkUp sin intervención manual constante.
- Transparencia metodológica: cada métrica incluye información sobre su evidencia científica y limitaciones (inspirado en EN 62366).
- Requiere conocimientos técnicos para el despliegue inicial, aunque Docker Compose simplifica el proceso.
- Dependencia de dispositivos compatibles con Garmin Connect API y LibreLinkUp para la ingestión de datos.
- La precisión de los modelos de ML depende de la calidad y cantidad de datos históricos sincronizados por el usuario.
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Recomendado ejecutar detrás de un proxy inverso seguro como Caddy o Nginx con TLS configurado. Para entornos domésticos, usar `make up` tras configurar las variables de entorno en `.env`. Es crucial mantener actualizadas las dependencias y realizar copias de seguridad periódicas de TimescaleDB. El despliegue público (`make up-public`) requiere configuración adicional de Let's Encrypt para certificados SSL automáticos.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.
