
Portafolio Profesional Interactivo
Portafolio propio en Angular con renderizado en servidor, contenido en datos y despliegue a AWS.
Contexto & Desafío
Un CV en PDF no demuestra que sé construir cosas interactivas, y un portafolio de imágenes tampoco. Necesitaba un sitio que fuera en sí mismo una prueba: que cargara rápido, que se indexara bien y que pudiera crecer con proyectos, certificaciones y una sección de 3D sin que cada añadido se convirtiera en una reescritura.
Enfoque Técnico
Lo construí en Angular 21 con componentes standalone, detección de cambios sin zone.js y renderizado en servidor, sobre Tailwind. La decisión que gobierna todo lo demás es que el contenido son datos: proyectos, experiencia, habilidades y certificaciones viven en archivos JSON, y los textos de interfaz en diccionarios de traducción. Añadir un proyecto es editar datos, no escribir componentes, y eso es lo que mantiene el sitio manejable a medida que crece.
Arquitectura y Enfoque
El sitio se renderiza en servidor y además prerenderiza sus rutas durante la compilación, así que cada página llega como HTML listo para el buscador en lugar de como un contenedor vacío que se rellena con JavaScript. El contenido bilingüe está separado por idioma y una batería de pruebas comprueba que ninguna clave exista en un idioma y falte en el otro. El despliegue va por GitHub Actions a un bucket de S3 con invalidación de CloudFront, y se dispara a mano para que publicar sea siempre una decisión.
Impacto & Resultados
Publicar un proyecto nuevo es editar un JSON, pasar las pruebas y lanzar el flujo; no hay que tocar el servidor. El sitio es además donde se demuestra lo que dice: la sección de pipeline 3D existe porque el portafolio tenía que poder alojar ese tipo de contenido sin deformarse.
Lecciones Aprendidas
Aprendí que un portafolio propio se degrada distinto a un proyecto de cliente: nadie te presiona, así que el desorden se acumula sin que nadie lo note. Lo que lo ha mantenido sano son las restricciones automáticas: pruebas que exigen paridad entre idiomas, vocabulario cerrado para los roles, límites de longitud en los textos. Poner esas reglas en el código y no en la intención es lo que hace que sigan valiendo meses después.
Puntos Clave
21 rutas prerenderizadas con SSR de Angular
Español e inglés con paridad verificada en pruebas
Despliegue en un clic a S3 y CloudFront
Galería
Capturas del Proyecto
Ficha Técnica
Empresa/Organización
Jorge Cruz
Cliente
Jorge Cruz
Rol
Desarrollador Full Stack
Plataforma
Web
Tamaño del Equipo
1 desarrollador
Año
2025
Sector / Industria
Desarrollo Web / Marca personal