Este portafolio
Un portafolio donde la navegación es una terminal de verdad.
- Next.js
- TypeScript
- Tailwind CSS
- Framer Motion
- GSAP
- Lenis

El problema
Casi todos los portafolios de desarrollador se parecen porque salen del mismo molde: una portada con una frase, una cuadrícula de tarjetas y una sección de habilidades con barras de porcentaje. Nada de eso demuestra que sabes construir algo.
La solución
La pieza central es funcional, no decorativa: una terminal que acepta comandos reales y navega el sitio. El resto del diseño se queda quieto a propósito para que esa pieza sea la única que llama la atención.
Arquitectura
- 01
Next.js 15 con App Router: páginas de proyecto estáticas y metadata generada por ruta.
- 02
Tailwind v4 con configuración CSS-first: los tokens de diseño viven en globals.css, no en un archivo de config paralelo.
- 03
Contenido bilingüe con un diccionario tipado y campos Localized en los datos: agregar un idioma es agregar una clave, no duplicar componentes.
- 04
Toda animación tiene rama para prefers-reduced-motion, incluida la terminal (el texto aparece completo, sin tipeo).
Stack
- Next.js
- TypeScript
- Tailwind CSS
- Framer Motion
- GSAP
- Lenis
Retos técnicos
Una terminal que sea usable con teclado y con lector de pantalla
Una terminal decorativa es fácil; una accesible no. La salida vive en una región con aria-live para que se anuncie, el input mantiene su etiqueta, hay historial con flechas y autocompletado con Tab, y el tipeo se desactiva por completo con prefers-reduced-motion mostrando el texto final.
Scroll suave sin romper la navegación por teclado
Lenis se ve bien y rompe el foco: el usuario de teclado salta a una sección y el foco se queda atrás. La navegación programática mueve el foco a la sección destino además de hacer el scroll, y Lenis se destruye por completo si el sistema pide menos movimiento.
Resultados
- Objetivo Lighthouse
- > 95 en las cuatro métricas
- Idiomas
- Español e inglés