Hola!
Imagino que por aquí todos anotáis sets y repes, así que vengo a contar el método que uso ahora, los tumbos que he dado hasta llegar a él y, de paso, preguntaros: ¿vosotros cómo lo hacéis?
Cuando empecé con Enso me tomé en serio trackear el progreso. Empecé con el clásico diario en papel: minimalista y sin distracciones durante el entreno. Problema? En cuanto memoricé el entreno dejé de abrirlo y nunca volvía atrás para consultar progresos antiguos.
Después intenté montarme un Excel con gráficos y métricas. Otro fracaso. Encender el ordenador después de entrenar o rellenar celdas desde el móvil no es nada práctico.
También probé apps de entreno, pero siempre me faltaba algo o tenían demasiado. Ahí fue cuando pensé: ¿y si pudiera mandarle mensajes a un bot de Telegram y que guardara todo ordenadito?
Me quedé con unos pocos requisitos claros:
- Que anotar el entreno fuese rapidísimo.
- Tener algo de feedback positivo y gamificación.
- Trackear solo la info esencial.
- Poder ver gráficos simples de progreso.
Me llevó su tiempo, pero acabé haciéndome mi propio bot de Telegram para registrar entrenos.
Tiene unos pocos comandos simples:
- /add → añadir entreno
- /calendar → ver calendario de entrenos
- /view_training → ver sets y repes recientes (para intenar superarlas)
- /exercise_report → ver progreso de un ejercicio
Os dejo algunas capturas. Lo que más adherencia me genera es el feedback del calendario. Punto verde entreno completado, rombo entreno con algún set de menos. Le doy muchas veces a mostrar calendario, bien de manera reconfortante o bien para decir, hay que rellenar más días!
Seguramente haya apps que hagan esto mismo mejor y con más opciones. En mi caso ha sido más un ejercicio de aprendizaje y una forma de descubrir qué necesito realmente para generar adherencia.
Technical info:
Añado un poco más de información para aquellos que tengáis curiosidad sobre el aspecto informático.
Soy muy partidario del open source por lo que aquí está el link al source code del proyecto. Como no compartirlo, si la mayoría de líneas las ha tirado Claude ;)
El bot está programado con python telegram bot, un wrapper alrededor de la API de telegram que permite hacer bots con facilidad. La base de datos escogida es una no relacional en la que cada entreno se guarda en un documento. Utilizo MongoDB.
Para que el bot sepa qué preguntar y qué reportes hacer, hay que pasarle un resumen del programa de entreno actual. Se hace con un yaml en el que se indican los bloques y ejercicios. Cada ejercicio tiene asociadas unas métricas, se pueden añadir tantas como se quieran. Por ahora lo estoy manteniendo simple, pero si a futuro entreno un front lever y quiero meter mi peso, ángulo del brazo, fuerza de asistencia en polea, distancia... y sacar el momento que genera mi hombro (me lo he inventado) la puerta está abierta y permitirá hacer reportes tan complejos como quiera.
Aunque soy el único usuario que lo ha testeado, está pensado para que pueda ser escalable y haya muchos usuarios (no creo que nadie lo use, pero me parecía el diseño correcto). La conf de programa se guarda también en BBDD y es única por usuario. Es decir, el bot contesta a cada uno con su programa y sus entrenos.
El bot está alojado en una raspberry pi en mi casa y así está encendido 24/7. Se ve que no quería pagar hosting
Si alguien tiene curiosidad y quiere cacharrear con el código, levantar su propio bot, o incluso probar el que ya tengo en marcha feel free y escribidme.