Objetivo del producto
El objetivo fue crear una plataforma fitness que permitiera a los usuarios organizar sus rutinas, registrar entrenamientos activos y consultar su progreso de forma clara. El principal desafío fue diseñar una experiencia práctica para el uso diario, especialmente desde dispositivos móviles, manteniendo una arquitectura escalable y bien organizada.
Proceso de autenticación
El proceso de autenticación en Trainly permite a los usuarios registrarse e iniciar sesión tanto con Google como con email y contraseña. Para el registro mediante email, se implementó el envío de un correo de confirmación que valida la existencia de la cuenta y mejora la seguridad del acceso antes de habilitar el uso completo de la plataforma.
Workout activo y creación desde el entrenamiento
Esta sección muestra el flujo de entrenamiento activo en Trainly, donde el usuario puede registrar su workout en tiempo real mientras realiza una rutina. Durante la sesión, puede completar sets, modificar datos como peso, repeticiones o estado de cada serie, y ajustar el entrenamiento según su rendimiento. Además, la plataforma permite agregar nuevos ejercicios durante la rutina sin interrumpir el flujo principal, dando flexibilidad para adaptar el entrenamiento en el momento. Una vez finalizado el workout, Trainly ofrece la posibilidad de guardar una nueva rutina creada a partir del entrenamiento realizado, permitiendo reutilizar esa estructura en futuras sesiones y convertir una experiencia puntual en un plan de entrenamiento organizado.
Métricas y estadísticas de progreso
Trainly incorpora una sección de métricas y estadísticas que permite al usuario analizar su evolución tanto por ejercicio como a nivel semanal. La plataforma combina la información registrada en diferentes rutinas y workouts para mostrar datos relevantes como volumen total, peso utilizado, repeticiones realizadas, cantidad de sets completados y frecuencia de entrenamiento. A nivel de ejercicio, el usuario puede consultar su progreso histórico, identificar mejoras en cargas o repeticiones y comparar el rendimiento entre sesiones. A nivel semanal, Trainly agrupa los entrenamientos realizados para ofrecer una visión general del progreso, ayudando a detectar constancia, evolución y patrones de entrenamiento a lo largo del tiempo.
Arquitectura y escalabilidad
Trainly fue desarrollado con una arquitectura modular orientada a la escalabilidad, separando responsabilidades entre interfaz, lógica de negocio, validaciones, acceso a datos y autenticación. La aplicación utiliza una estructura full-stack con TypeScript, Next.js, tRPC, Prisma y PostgreSQL, permitiendo mantener tipado consistente entre frontend y backend. Esta organización facilita la evolución del producto, ya que cada dominio —rutinas, ejercicios, workouts, usuarios, autenticación y métricas— puede crecer de forma independiente sin afectar el resto del sistema. Además, el uso de componentes reutilizables y APIs type-safe mejora el mantenimiento del código, reduce errores y permite incorporar nuevas funcionalidades como estadísticas avanzadas, objetivos personalizados, historial detallado o integraciones externas.