Activa JavaScript para disfrutar de los vídeos de la Mediateca.
PowerTrack-TFG_Presentacion_Lucia - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Hola a todos, mi nombre es Lucía Paula Peña Filorbea
00:00:00
y a continuación voy a hacer la aplicación de mi ITFG
00:00:03
empezando por un punto principal, que es el nombre de mi aplicación,
00:00:07
se llama PowerTrack
00:00:12
y es una aplicación móvil inteligente para la gestión y el seguimiento de entrenamientos personales.
00:00:13
Yo decidí integrar una inteligencia artificial extra
00:00:19
para personalizar las rutinas y un plan nutricional para distinto tipo de usuario.
00:00:22
La principal idea de por qué surge este proyecto y por qué he decidido hacerlo es porque yo soy una persona bastante activa físicamente, me gusta el deporte y como actualmente estoy yendo bastante al gimnasio y llevo bastante el progreso y la constancia metidas ahí en la cabeza, pues decidí por qué no voy a hacer un tipo de aplicación donde actualmente se han detectado que las aplicaciones que hay en el mercado ofrecen rutinas genéricas,
00:00:27
descomplejas y una separación entre un entrenamiento y una nutrición que yo creo que especialmente
00:00:57
a los usuarios mayores les puede dificultar un seguimiento real de progreso o incluso
00:01:05
no tan solo porque sean mayores sino también a los jóvenes, que tengamos donde también
00:01:10
apuntar un seguimiento y además un consejo de nutrición que no nos hace falta pagar
00:01:16
externamente a otra persona para que nos dé un plan nutricional, pues también ayuda bastante.
00:01:22
Está más pensado para gente joven que no tiene tiempo para prepararse muy bien sus cosas,
00:01:31
quiere ir a lo rápido, etc.
00:01:39
Bueno, pues ahora a continuación voy a hacer una breve explicación sobre la arquitectura
00:01:42
y tecnologías de esta aplicación.
00:01:48
Y bueno, en primer lugar, la aplicación está desarrollada con Kotlin,
00:01:51
con Compose, que es la interfaz con la que interactúa el usuario.
00:01:56
En segundo lugar, como se puede ver, el backend principal está desarrollado
00:02:02
con Spring Boot en Java, que gestiona toda la lógica de negocio,
00:02:06
seguridad, mediante JWT, la base de datos MySQL,
00:02:10
que también la implementé con FlowWave.
00:02:16
¿Por qué decidí hacerlo con Flyway?
00:02:18
Decidí utilizarlo porque tuve bastantes problemas con el tema de los duplicados en la base de datos
00:02:21
y me fijé que era un error que la verdad, mediante que estuve investigando
00:02:27
y también gracias a unos compañeros de la empresa en la que estoy de práctica,
00:02:33
me dieron un poco de feedback y actualmente en bastantes empresas se utiliza Flyway
00:02:38
y la verdad es que tampoco es muy difícil de utilizar ni de implementar, es bastante sencillo
00:02:44
y dije, es la mejor ruta para evitar tampoco que me surjan más problemas
00:02:49
y evitar lo que surjan también en la hora de probar esta aplicación y decidí irme por ello.
00:02:55
Bueno, ahora tenemos la parte del microservicio de inteligencia artificial desarrollado en Python con FastAPI
00:03:01
que tiene un endpoint REST que el backend lo llama para obtener la recomendación personalizada del usuario.
00:03:09
A continuación vamos a probar la aplicación, vamos a ver todas sus funcionalidades y las pantallas que he implementado.
00:03:17
Como podemos ver la pantalla login para que el usuario ingrese su cuenta, también tenemos la opción de registrarse.
00:03:28
vamos a hacerlo de principio, vamos a registrarnos
00:03:35
vamos a poner un nombre
00:03:39
Pepe, un email
00:03:40
podemos probar también errores
00:03:42
vamos a hacerlo sin ningún dominio
00:03:45
vamos a poner Pepe otra vez
00:03:47
vamos a poner yo que sé
00:03:48
Pepe y vamos a
00:03:50
hacer contraseñas para ver si
00:03:52
bueno, al principio
00:03:54
nos dice que Pepe necesita
00:03:56
si o si un email
00:03:58
vamos a poner por ejemplo
00:04:00
gmail.com
00:04:02
las contraseñas no son correctas, vamos a ver si salta un error, ahí estamos, podemos ver que también se puede ver la contraseña aquí,
00:04:04
1, 2, 3, 4, 5, 1, 2, 3, 4, 5, vale, nos registramos, vale, volvemos a la aplicación, ya como nos hemos registrado
00:04:18
correctamente, ingresamos el usuario, vamos a ver si la contraseña, bueno, ahí estamos, vale, entramos a la pantalla
00:04:31
de formulario, donde aquí la IA que he entrenado yo va a conocer al usuario básicamente su
00:04:44
objetivo, qué tipo de género tiene, cuántos años, unas preguntas varias para conocer
00:04:51
al usuario. Vamos a decir que somos mujer, tenemos entre 16 y 29 años, nuestra prioridad
00:04:58
es ganar músculo, vamos a poner que lleva más de dos años entrenando y que tenemos
00:05:05
de entrenamiento cinco días a la semana. No tengo ninguna lesión y vamos a hacer un
00:05:12
mixto. Vamos a poner que peso 65 kilos. Aquí entramos a la pantalla de espera donde la
00:05:17
IA está pensando el modelo del usuario y a continuación tenemos el para ti. Este para
00:05:26
ti está diseñado para que el usuario básicamente sepa un plan de entrenamiento, otro plan
00:05:33
nutricional que está recomendando para ese tipo de usuario. Pues aquí tenemos un breve
00:05:42
texto donde la IA depende del usuario, le recomienda una cosa u otra, también unos
00:05:49
consejos nutricionales, tenemos aquí el volumen, bueno, el tipo de entrenamiento que nos ha
00:05:56
recomendado la IA y también el valor nutricional que tenemos que tener. Vale, pues vamos a
00:06:02
entrar en el detalle de entrenamiento. Como vemos la IA asigna un volumen avanzado al
00:06:11
usuario y aquí tenemos la lista de ejercicios, donde están repartidos por distintas categorías
00:06:17
de músculo. Tenemos aquí la serie, las repeticiones y el descanso recomendado y también tenemos
00:06:24
un GIF para ver cómo se hace el ejercicio y no tener dudas sobre ello. Aquí tenemos
00:06:31
bastantes ejercicios con distinto tipo. Bueno, aquí tenemos el plan nutricional, si pinchamos
00:06:38
entramos al detalle, donde podemos ver aquí lo que nos ha recomendado la IA. En este caso
00:06:49
tenemos el super hábit avanzado, donde nos calcula las calorías diarias y la proteína,
00:06:55
los carbohidratos y las grasas. Tenemos aquí repartidas las comidas, tanto como desayuno, almuerzo, cena y merienda.
00:07:02
En el almuerzo pues tenemos distintos tipos de comidas a comer, si no queremos arroz con pollo, pues también tenemos otro tipo de comida.
00:07:12
Como podemos ver también aparecen las calorías junto con las grasas y la proteína
00:07:21
Y este sería el detalle de comidas
00:07:29
Vamos a pasar a otra funcionalidad de la aplicación donde tenemos el calendario
00:07:34
Aquí podemos asignar en distinto día el tipo de entrenamiento que hemos tenido
00:07:41
Por ejemplo, he entrenado el 1 de mayo pero se me olvidó apuntarlo
00:07:47
Asignamos el 1 de mayo, le damos a añadir
00:07:51
Tenemos aquí el registrar entrenamiento
00:07:53
Donde podemos registrar
00:07:56
Distinto tipo de ejercicio
00:07:57
Vamos a poner que he hecho prensa de piernas
00:07:59
Y he puesto
00:08:02
100 kilos, venga va
00:08:03
Añadimos otro ejercicio más
00:08:05
Hemos hecho también remón polea baja
00:08:07
Y le he puesto
00:08:10
50 kilos
00:08:12
Hoy estoy fuerte
00:08:13
Ponemos aquí observaciones
00:08:14
mucho peso. Por ejemplo, le damos a guardar entrenamiento, vemos que se ha guardado correctamente,
00:08:18
vamos al calendario y aquí nos sale el día de entrenamiento con los ejercicios que hemos
00:08:28
hecho, los pesos, las repeticiones y una observación. Por ejemplo, vamos a añadir este día. Bueno,
00:08:36
Aquí también tenemos el contador de los días entrenados, vamos a decir que hoy hemos entrenado dominadas, con nada de peso, jalón al pecho, con 60 kilos y ¡ay! que me he equivocado, que este ejercicio no lo he hecho, pues nada, lo borro y ya está.
00:08:44
No quiero poner ninguna observación, le damos a guardar, volvemos al calendario y vemos que también se ha guardado el día de hoy, los días entrenados, tenemos aquí otro apartado de registrar para ser más fácil y llevadero, si no queremos darle aquí, que es un clip, pero tenemos también aquí un apartado.
00:09:05
Y por último tenemos el apartado de perfil, donde el usuario puede agregar una foto de su galería, en este caso como estoy en el emulador no tengo ninguna foto en la galería.
00:09:28
Y también puede ver su nombre de usuario, su email y la rutina sin nada.
00:09:40
Le damos a cerrar sesión y bueno, pues si queremos iniciar sesión otra vez, iniciamos y automáticamente se pone en el para ti.
00:09:46
Vale, pues a continuación voy a explicar el modelo de la inteligencia artificial que entrené
00:09:55
Voy a mostrar un poquito el código hecho con Python, el modelo de Random Forest
00:10:03
Cómo fue entrenado con un dataset de 5.000 registros y vamos allá
00:10:09
El problema que resuelve esta IA es que la mayoría de las aplicaciones fitness dan la misma rutina a todo el mundo
00:10:16
Entonces PowerTrack lo que hace es que recibe el perfil básico del usuario y lo recomienda automáticamente a una rutina y dieta más adecuada para ese tipo de usuario.
00:10:24
Como vemos aquí tenemos un modelo que recibe ocho variables y de las cuales se categoriza al usuario.
00:10:35
Tenemos también 8 recomendaciones, de las cuales también dependiendo del objetivo del usuario y del estudio que hace la IA en ese usuario se recomienda.
00:10:46
Bueno, vamos a una pregunta que os podéis preguntar y es cómo se genera el dataset.
00:10:57
Como no tenía datos reales de usuarios, diseñé reglas expertas que imitan un entrenador profesional, por así decirlo.
00:11:03
Por ejemplo, si el usuario tiene una lesión, siempre recibe el perfil 7. Si el usuario tiene más de 50 años y quiere definición, perfil 3. Esas reglas se generaron con 5.000 registros sintéticos.
00:11:09
El punto más fuerte e importante a mencionar yo creo es que se añadió un 4% de ruido aleatorio del dataset, es decir, esto hace que el modelo no memorice las reglas sino que aprenda patrones generalizados.
00:11:24
¿Vale? Pues aquí tenemos el flujo, el usuario va a mandar una petición post donde el usuario va a ver el formulario, va a tener que rellenarlo y se lo manda directamente a Spring, al backend.
00:11:41
Spring lo que hace es llamar al microservicio hecho desde FastAPI y recibe la recomendación, la guarda en la base de datos y se la devuelve al usuario otra vez.
00:11:55
básicamente es llamar a un backend pero externo a Spring Boot que es el principal que tenemos
00:12:05
aquí lo importante de todo esto es que el dataset de 5000 registros está generado con reglas científicas basadas en estudios
00:12:12
es decir en organismos como la ACSM y la INSS que básicamente por eso el modelo alcanza una precisión del 96.10%
00:12:22
y que la variable más importante resultó ser la lesión física con un 50% de importancia.
00:12:34
Y por último me gustaría comentar unas mejoras a futuro que me hubiese gustado implementar,
00:12:42
por ejemplo como la integración estable con Gemini para generar un contenido dinámico
00:12:49
y una incorporación de peso exacto del usuario como una variable continua del modelo de la IA que he entrenado
00:12:54
para que no sea todo cerrado a 5.000 registros y 8 recomendaciones.
00:13:02
También me hubiese gustado implementar unas estadísticas de progreso a lo largo del tiempo
00:13:08
para que el usuario vea cuál ha sido su progreso exacto en diferente ciclo de su vida, por ejemplo.
00:13:13
Y esa sería mi aplicación de TFG.
00:13:23
- Idioma/s:
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Autor/es:
- Lucia Paula Peñafiel Orbea
- Subido por:
- Lucía Paula P.
- Moderado por el profesor:
- Lucia San Miguel López (lucia.sanmiguel)
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 12
- Fecha:
- 18 de mayo de 2026 - 2:20
- Visibilidad:
- Público
- Enlace Relacionado:
- Repositorios en Github: https://github.com/luciney33/PowerTrack-IA.git , https://github.com/luciney33/PowerTrack-Backend.git , https://github.com/luciney33/PowerTrack-App.git
- Centro:
- IES FRANCISCO DE QUEVEDO
- Descripción ampliada:
- https://github.com/luciney33/PowerTrack-App.git
https://github.com/luciney33/PowerTrack-Backend.git
https://github.com/luciney33/PowerTrack-IA.git - Duración:
- 13′ 27″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 1.09