Saltar al contenido
/pacoforet

Fit Evolution: un dashboard web para exprimir los datos de tu báscula de bioimpedancia

4 min de lectura

La mayoría de básculas de bioimpedancia actuales (RENPHO, Withings, Xiaomi, Fitbit) miden mucho más que el peso bruto: registran porcentaje graso, masa muscular esquelética, grasa visceral, agua corporal o tasa metabólica basal.

El problema habitual reside en sus aplicaciones móviles propietarias: suelen estar cargadas de opciones superfluas, intentan vender suscripciones premium y presentan gráficas simplistas que no permiten analizar la recomposición corporal con rigor.

Para resolver esto creé Fit Evolution, un dashboard web personal, optimizado como PWA móvil y con arquitectura zero-database, cuyo código he liberado en abierto en GitHub para que cualquiera pueda usarlo con sus propios datos.

Fit Evolution Dashboard: panel de evolución de peso, recomposición corporal y métricas de bioimpedancia


Por qué el peso diario engaña

El peso en báscula fluctúa a diario entre 1 y 3 kilos debido a la retención de líquidos, el contenido digestivo, el consumo de sodio o los depósitos de glucógeno muscular. Obsesionarse con la variación de un martes a un miércoles solo genera frustración.

Lo que determina si un plan de entrenamiento o nutrición funciona es:

  1. La tendencia suavizada: Medias móviles de 7 días que filtran el ruido diario.
  2. La recomposición corporal: Si la pérdida de peso procede de tejido graso o de masa magra, y cuál es la tasa de retención muscular (P-Ratio).
  3. El índice FFMI (Fat-Free Mass Index): Un indicador más representativo que el clásico IMC para evaluar la masa muscular libre de grasa en función de la estatura.

Fit Evolution está diseñado en torno a estas tres premisas.


Qué incluye la aplicación

La herramienta combina visualización analítica avanzada con una experiencia pensada para el teléfono móvil:

  • Medias móviles y bandas de dispersión: Gráficas interactivas con Chart.js que muestran el peso diario, la media móvil a 7 días y los rangos de fluctuación mínima y máxima.
  • Métricas completas de bioimpedancia: Seguimiento simultáneo de peso, grasa corporal, masa muscular, agua, masa ósea, grasa visceral, grasa subcutánea, edad metabólica y BMR.
  • Análisis de recomposición (Día 1 vs Hoy): Comparativa directa de cambios entre el punto de partida y la última medición, calculando cuánta masa magra se ha preservado respecto a la grasa perdida.
  • Objetivos y estimación de llegada (ETA): Proyección automática de semanas restantes para alcanzar la meta de peso o grasa corporal basándose en el ritmo real de las últimas semanas.
  • Detección de estancamientos y récords: Alertas de mesetas de peso tras 14 días sin variación y registro automático de marcas mínimas históricas superadas.
  • Exportador de infografías en alta resolución: Generador en canvas local para exportar resúmenes visuales de evolución sin dependencias externas.
  • Diseño como PWA para iOS y Android: Se instala directamente en la pantalla de inicio del móvil, con soporte para áreas seguras y navegación táctil sin barras de navegador.

Arquitectura técnica: privacidad sin base de datos

Uno de los objetivos del proyecto era evitar costes de servidores, suscripciones y riesgos de privacidad con datos sensibles de salud.

  • Frontend: Construido sobre Astro 6 y Tailwind CSS v4 para entregar un bundle estático ultraligero y rápido.
  • Gráficas: Chart.js 4.x configurado con temas claro/oscuro y renderizado interactivo en canvas.
  • Almacenamiento Zero-Database: Por defecto, todos los registros residen localmente en el localStorage del navegador. Tus datos nunca salen de tu dispositivo.
  • Sincronización opcional con GitHub Gist: Para compartir datos entre el ordenador y el móvil sin montar un backend completo, la app permite sincronizar un archivo JSON cifrado a través de un Gist privado personal.
  • Importación de datos de básculas: Importador nativo para archivos CSV exportados desde la app de RENPHO, además de formulario de registro manual y exportación en JSON/CSV para copias de seguridad.

Cómo ponerlo en marcha en tu propio entorno

Si quieres utilizarlo para tu propio seguimiento, puedes clonar el repositorio y desplegarlo en cuestión de minutos:

1. Clonar e instalar dependencias

git clone https://github.com/pacoforet/fit.pacoforet.com.git
cd fit.pacoforet.com
npm install
npm run dev

La aplicación arrancará en http://localhost:4321.

2. Cargar tus datos

  1. Abre la aplicación en tu navegador.
  2. Si utilizas una báscula RENPHO, exporta tu histórico desde su app en formato CSV y súbelo desde la pestaña de configuración.
  3. Alternativamente, puedes registrar mediciones manualmente día a día desde el formulario integrado.

3. Despliegue en producción

Al ser un proyecto estático, puedes desplegarlo gratuitamente en Vercel, Netlify o GitHub Pages con un solo comando o conectando tu propio fork de GitHub.

El código está disponible bajo licencia MIT en github.com/pacoforet/fit.pacoforet.com.