Fit Evolution: un dashboard web para exprimir los datos de tu báscula de bioimpedancia
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.
- Repositorio: github.com/pacoforet/fit.pacoforet.com
- Demo funcional: fit.pacoforet.com (en la pantalla de acceso, pulsa el botón “Acceder en modo Demo” para explorar el panel interactivo con datos de prueba)

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:
- La tendencia suavizada: Medias móviles de 7 días que filtran el ruido diario.
- 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).
- 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
localStoragedel 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
- Abre la aplicación en tu navegador.
- 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.
- 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.