Portfolio Web — CV Interactivo

HTML5 · CSS3 · JavaScript · Internet Technology and Security (CEAC4011)
HTML5
CSS3
JavaScript
GitHub Pages
Custom Domain
Necesitaba un CV online que fuera más que un PDF estático — algo que reflejara mis habilidades técnicas directamente, que funcionara en cualquier dispositivo, que estuviera disponible en los tres idiomas relevantes para el mercado laboral suizo (español, inglés, alemán) y que permitiera descargar el CV en el idioma preferido por el reclutador. El proyecto tenía también un requisito académico explícito: implementarlo sin frameworks, demostrando dominio de las tecnologías web fundamentales.

Arquitectura multi-página estática

4 páginas HTML independientes en lugar de una SPA. Cada página tiene su propio <title> y <meta description> para SEO. Deploy directo en GitHub Pages sin build step ni toolchain.

Sistema i18n propio de 33 líneas

Motor de internacionalización personalizado usando atributos data-i18n y localStorage para persistir el idioma entre páginas. Sin librerías externas. Cubre ES/EN/DE con ~60 claves de traducción por idioma.

CSS con design tokens

Sistema de variables CSS en :root que actúa como design token system. Un único stylesheet de 910 líneas para las 4 páginas, organizado en secciones comentadas. Sin preprocesadores.

Responsividad mobile-first

Hamburger menu con IntersectionObserver para scroll reveal, Flexbox y CSS Grid para layout, dos breakpoints (768px y 480px). Probado en iPhone SE, iPad y desktop.

CV descargable en 3 idiomas

Dropdown selector que sirve tres PDFs distintos (ES/EN/DE) desde /docs/. Cada PDF está optimizado para el mercado correspondiente con el mismo contenido adaptado culturalmente.

Deploy en GitHub Pages con dominio propio

CI/CD automático via git push a main. Dominio josepalacios.site registrado en Porkbun con 4 registros A apuntando a la CDN de GitHub Pages y HTTPS automático via Let's Encrypt.
Este proyecto es donde más aprendí sobre la diferencia entre código que funciona y código que está bien hecho. El sistema i18n podría haber sido simplemente tres versiones del HTML — pero diseñarlo como un motor de traducciones me enseñó a pensar en separación de datos y lógica incluso en proyectos pequeños. También aprendí que el 80% del tiempo de un proyecto web real no se va en escribir código, sino en decisiones de diseño, pruebas en dispositivos reales, corrección de regresiones y documentación. La memoria en PDF es la que entregué en abril de 2026 y describe la versión de entonces, hecha en HTML, CSS y JavaScript sin frameworks. El sitio que estás leyendo es la reescritura posterior en Next.js. El repositorio que cita el documento (jjpp01x/portfolio) ya no existe: el código vive ahora en jjpp01x/Pagina_Web_CV.