Skip to main content
Herencia | finales de 2022 a principios de 2023

El build MERN.

Tres años después del prototipo de 2019, reconstruí el somatotipo como una aplicación web real: React y TypeScript en el frontend, Express y MongoDB en el backend, con cuentas, un panel de control, un blog y cinco becarios del bootcamp BeCode que estaba liderando en lo que era, por primera vez, mi propio proyecto. La primera vez que la idea de AfitPilot parecía un producto.

De una página estática a una aplicación real.

La calculadora de 2019 era una sola página HTML. Escribías nueve números, JavaScript ejecutaba las ecuaciones de Heath-Carter, un canvas dibujaba el triángulo. Útil, pero te olvidaba en el momento en que cerrabas la pestaña.

A finales de 2022 quería algo que recordara. Algo que almacenara un perfil. Algo a lo que pudieras iniciar sesión, guardar resultados, volver un mes después y ver cómo habían cambiado tus números. Así que reconstruí todo desde cero como una aplicación con stack MERN (MongoDB, Express, React con TypeScript, Node) y reuní a un pequeño equipo de becarios del bootcamp BeCode para lanzarlo conmigo.

El trabajo comenzó a finales de 2022 y la entrega real ocurrió entre enero y marzo de 2023, unos dos meses de producción real. Cinco personas contribuyeron a lo largo del proyecto. El repositorio llegó a más de 430 pull requests. Añadimos autenticación, restablecimiento de contraseña por correo electrónico, un panel de perfil, un blog con comentarios, una calculadora de powerlifting junto al somatotipo, compartir en redes sociales, un formulario de contacto y contenido bilingüe. Nada de eso estaba pulido según los estándares de 2026. Todo era trabajo de producción honesto: la primera vez que había construido algo que necesitaba una base de datos para ser lo que era.

También es el proyecto donde aprendí lo que se siente al liderar un pequeño equipo en algo que era mío. Antes había enviado código con otras personas, en proyectos de otros. Esta fue la primera vez que yo era quien establecía la dirección, escribía los tickets, fusionaba los PRs. Tickets en una hoja de Google. Una rama `dev` y PRs con fork. Comentarios de revisión. Conflictos de fusión. Todo lo que siguió en AfitPilot (los flujos de trabajo, la disciplina de revisión, la forma en que lanzamos) comenzó aquí.

El build de 2022 en movimiento.

Capturas breves de la aplicación en funcionamiento: realizando el test, llegando al panel de control, explorando las categorías de somatotipo y comparando tu resultado con una biblioteca de atletas.

Sobre qué se construyó la aplicación.

Un stack MERN estándar para la época, con TypeScript en ambos lados del cable.

Frontend
React 18 + TypeScript, Material UI, react-swipeable-views
Backend
Node + Express, TypeScript, bcrypt + JSON Web Tokens para autenticación
Base de datos
MongoDB Atlas, esquemas de Mongoose, seis colecciones (usuarios, perfiles, blogs, comentarios, compartidos, contacto)
Correo electrónico
Nodemailer con HTML con plantillas para restablecimiento de contraseña y contacto
Analítica
react-ga4 (Google Analytics 4)
Compartir
react-share: Twitter, Facebook, LinkedIn, WhatsApp
Alojamiento
Render: un único servicio web que ejecuta tanto la API como el cliente React compilado
Proceso
Flujo de PR con repositorio bifurcado, gestionado mediante Google Sheets, revisado y fusionado manualmente

El primer equipo que lideré en mi propio proyecto.

La calculadora de 2019 fue un proyecto en solitario. La versión de 2022 fue la primera vez que lideré un pequeño equipo en algo mío: cinco becarios de BeCode bootcamp que contribuyeron junto a mí durante toda la vida del repositorio. Sus pull requests siguen en el historial.

The 2022 somatotype project team photographed together during development.
The team during development.
A second team photo from the 2022 somatotype project during development.
Another moment from the same period.
Heads down: pair programming on the 2022 build's tickets.

Lo que esta compilación me enseñó, y lo que AfitPilot conservó.

La página de 2019 demostró que la idea podía existir. La compilación de 2022 demostró que podía ser un producto: que podías poner una base de datos detrás, una cuenta delante, un equipo alrededor y lanzar el resultado. Todo lo que AfitPilot hace hoy se basa en las lecciones de este código: cómo modelar un perfil, cómo manejar la autenticación sin convertirse en un incidente de seguridad, cómo revisar y fusionar el código de otras personas sin romper la confianza, cómo lanzar lo suficientemente lento para ser correcto y lo suficientemente rápido para seguir vivo.

AfitPilot conservó la arquitectura y desechó la implementación. El stack MERN dio paso a otro diferente. La calculadora de somatotipo de un solo propósito se convirtió en una de las siete calculadoras de entrenamiento en una plataforma mucho más grande. El panel se convirtió en algo mucho más ambicioso: un plan de entrenamiento adaptativo, no una instantánea guardada. Pero el bucle es el mismo: mediciones de entrada, sistema en el medio, salida personalizada de vuelta al atleta.

El código de 2022 ya no está en funcionamiento. La razón no es nostalgia; es que las cosas para las que fue construido ahora se hacen mejor, con AfitPilot, en producción. Mantener esta página es cómo mantengo visible el linaje sin mantener un servidor activo para alojar un proyecto que ya ha cumplido su función.