V-Forge — Caso de Estudio
Plataforma de entrenamiento personalizado que convierte la planificación del gimnasio en una experiencia guiada: el atleta consulta su plan, registra cargas, mide progreso y recibe apoyo de nutrición e IA desde el móvil.
1. Descripción General
Rol / contexto: diseño y desarrollo full stack de un producto de entrenamiento con una PWA para atletas, paneles de operación y servicios de datos.
Problema: las rutinas dispersas, el registro manual y la falta de contexto hacen difícil saber qué entrenar, cuánto progresar y cómo relacionar entrenamiento con nutrición.
Propuesta: una sola experiencia para consultar rutinas, ejecutar sesiones, registrar cargas y recibir herramientas de decisión, con el entrenador y la IA como apoyo, no como sustitutos del criterio humano.
Resultado: un producto usable desde móvil que reúne entrenamiento, nutrición, catálogo multimedia, perfiles, rutinas públicas y herramientas de creación en una arquitectura modular.
2. Arquitectura del Sistema
Visión general
La interfaz React se despliega como PWA y consume Firebase para identidad y datos operativos. Los servicios .NET y MongoDB cubren la API de producto, mientras Gemini y el catálogo multimedia amplían la creación y ejecución de rutinas.
┌─ Atleta / entrenador / administrador ───────────────┐
│ PWA React + Material UI · móvil primero │
└──────────────────────┬──────────────────────────────┘
│ HTTPS
┌─ V-Forge Kernel ─────────────────────────────────────┐
│ Auth · rutinas · sesiones · cargas · nutrición │
│ perfiles · social · tutoriales · configuración │
└──────────────┬───────────────────────┬───────────────┘
│ Firebase │ API .NET
▼ ▼
┌─ Firebase Auth / Firestore ─┐ ┌─ V-Forge Backend ────────┐
│ identidad y datos de app │ │ catálogo · media · Mongo │
└─────────────────────────────┘ └──────────────┬───────────┘
▼
Gemini / media licenciadaFlujo de entrenamiento
1. El atleta entra a su dashboard y elige una rutina o sesión. 2. Revisa ejercicios, series, repeticiones, descansos y demostraciones. 3. Ejecuta el modo entrenamiento con temporizador y seguimiento de estado. 4. Registra cargas y repeticiones como dato de progreso. 5. El sistema alimenta gráficas, historial y decisiones futuras.
Separación de responsabilidades
| Capa | Tecnología | Responsabilidad |
|---|---|---|
| Experiencia | React + MUI + PWA | Entrenamiento, nutrición, navegación y feedback |
| Persistencia | Firebase Auth + Firestore | Identidad, perfiles, rutinas y registros |
| Servicios | ASP.NET Core + MongoDB | Catálogo, media y API de producto |
| Inteligencia | Gemini + servicios de ingesta | Generar, digitalizar y normalizar rutinas |
3. Tecnologías y Justificación
- React + TypeScript: composición de flujos complejos con tipos explícitos para rutinas, sesiones, ejercicios y progreso.
- Firebase: autenticación y sincronización rápida para una experiencia móvil que necesita persistir cambios frecuentes.
- ASP.NET Core + MongoDB: servicios separados para catálogo, media e integraciones sin cargar esa lógica en los componentes.
- Gemini AI: copiloto para generar planes y convertir texto, PDF o imágenes en rutinas editables.
- PWA: instalación desde el navegador y acceso directo desde el teléfono sin mantener aplicaciones nativas paralelas.
4. Capturas de Pantalla
Galería pendiente de nuevas capturas verificadas.
5. Problemas Encontrados
El entrenamiento ocurre en movimiento
Problema: una interfaz pensada para escritorio se vuelve lenta durante una serie.
Solución: navegación mobile-first, controles grandes, temporizadores y vistas enfocadas en la acción inmediata.
La IA no puede ser una caja negra
Problema: una rutina generada puede contener nombres ambiguos o decisiones que el entrenador debe revisar.
Solución: el ingestor y el generador dejan la propuesta editable y separan sugerencia, emparejamiento y publicación.
El progreso necesita datos propios
Problema: una gráfica atractiva no sirve si no existe un registro confiable de cargas.
Solución: el registro de series, repeticiones y pesos es el dato maestro que alimenta evolución y decisiones.
6. Decisiones Técnicas Clave
PWA antes que aplicaciones nativas
Decisión: una sola base móvil reduce fricción de distribución y permite actualizar la experiencia sin dos tiendas ni dos codebases.
IA como copiloto
Decisión: generar y digitalizar acelera el trabajo, pero el usuario conserva la corrección y publicación final.
Servicios separados de la interfaz
Decisión: Firebase, API .NET y MongoDB se consumen desde servicios, manteniendo los componentes centrados en renderizar y coordinar interacción.
7. Aprendizajes
- El dato operativo precede al dashboard: registrar bien una serie vale más que decorar una gráfica.
- La fricción se mide en taps: durante una sesión cada acción innecesaria rompe concentración.
- La IA necesita edición: la confianza aumenta cuando el usuario entiende y puede corregir el resultado.
- Una plataforma crece por módulos: entrenamiento, nutrición, social y administración comparten identidad, pero no mezclan responsabilidades.
8. Documentación Técnica del Proyecto
Arquitectura, producto y decisiones de implementación del kernel V-Forge.