Portfolio Personal — Mapa de Proyectos Explorable
Resumen
Reconstruí mi portfolio desde cero. El sitio anterior era una página neobrutalista oscura que ejecutaba un script de Tailwind desde CDN sobre una cuadrícula JSON; este es una compilación estática en Astro 5, con islas de React solo donde la interacción las exige. La pieza central es la página de trabajos: un tablero tipo mapa donde 36 proyectos ocupan cinco territorios, uno por disciplina. La rueda amplía sobre el cursor, arrastrar desplaza con inercia, dos dedos hacen pinza y los filtros vuelan la vista hacia una categoría atenuando el resto. Al acercarse, los pines se convierten en tarjetas. Cada nodo es un enlace real, así que cada proyecto se compila también como su propia página estática, que abre con su diálogo ya en pantalla. La portada es una secuencia de secciones guiadas por el scroll: un hero fijado con un carrusel de seis diapositivas, una sección «sobre mí» cuyos párrafos se rellenan letra a letra mientras se acumula una pila de imágenes, una tira de datos rápidos en ojo de pez, un acordeón de habilidades y un carrusel de proyectos cuya pista se desplaza lateralmente al bajar, en móvil igual que en escritorio. Todo el contenido vive en un único archivo JSON. No hay CMS, ni base de datos, ni runtime de servidor.
Retos
Un mapa explorable se vuelve desorientador con facilidad, e inaccesible con la misma facilidad. Además debía seguir siendo una compilación estática —sin servidor— dando a 36 proyectos URLs reales y compartibles, y la animación tenía que aguantar en un móvil.
Soluciones
Cada nodo del mapa es un ancla a una página generada en tiempo de compilación, así que el tablero sigue siendo navegable, compartible y rastreable incluso sin JavaScript. El nivel de detalle cambia pines por tarjetas al ampliar, y los filtros vuelan la vista en lugar de recargarla. Las secciones se fijan con GSAP ScrollTrigger y se controlan por la posición del scroll en vez de por un ticker, lo que las mantiene fieles en dispositivos táctiles. Todo el sitio se entrega como HTML estático desde Astro, con React montado solo en el único componente que realmente lo necesita.
Galería

Hero — Un nombre, una promesa y seis oficios en rotación

Sobre mí — Scrollytelling con relleno letra a letra

Quick Facts — Un dato cada vez, ampliado al pasar

Skills — Abra una disciplina y pase el cursor por otra para ver sus herramientas

Proyectos favoritos — Una pista que se desplaza en horizontal

Contacto — El registro final

Mapa de proyectos — Acérquese y los pines se convierten en tarjetas

Diálogo de proyecto — Se abre en el sitio, con su propia URL

Hero — La misma apertura, apilada para la tableta

Sobre mí — En la tableta la historia fluye y la cita la remata

Proyectos favoritos — El carrusel lateral sigue en marcha en la tableta

Vista filtrada — Un filtro lleva el tablero a una categoría

Diálogo de proyecto — Todo el caso sin salir del mapa

Menú — Una hoja a pantalla completa que mantiene el CV a mano

Quick Facts — Una pincelada abre paso a la fotografía

Proyectos favoritos — Guiado por el desplazamiento también en el móvil

Mapa de proyectos — Pellizque para ampliar y cada pin se convierte en tarjeta

Diálogo de proyecto — Un caso completo que cabe en un teléfono

Contacto — Cada canal a un solo toque