Saltar al contenido
mreysei · Michael Reyes
Tema

Terminal

Mi portfolio como una terminal de Ubuntu: cada comando se resuelve en el servidor.

Sobre el proyecto

Mi portfolio convertido en una terminal parecida a la de Ubuntu, a pantalla completa: la misma información de la web principal (quién soy, mi carrera, mis proyectos y mis artículos) recorrida con comandos.

Objetivo. Ofrecer a desarrolladores y reclutadores técnicos una forma de conocerme que habla su idioma y se recuerda, sin renunciar a lo importante: cada comando se resuelve en el servidor y todo lo que responde es texto, así que se indexa, se lee con un lector de pantalla y funciona sin JavaScript.

Qué hace.

  • Arranca con neofetch, y git log cuenta mi carrera.
  • ls, cd, cat y tree recorren un sistema de archivos virtual construido con el contenido real del portfolio.
  • jp2a dibuja imágenes como texto, y vi, nano, less y man abren los archivos en modo lectura.
  • 39 comandos en total, ocho temas de color, cambio de idioma con locale, autocompletado con el tabulador y sugerencias cuando un comando no existe.
  • Dos easter eggs esperando a quien pruebe comandos de verdad.
  • Desde el backoffice activo o desactivo cada comando, veo cuáles se usan y recojo como ideas los que los visitantes escriben y todavía no existen.
Los 39 comandos, por tipo La mayoría son de shell, del portfolio o de ficheros.
Ver los datos: Los 39 comandos, por tipo
Los 39 comandos, por tipo
CategoríaComandos
Shell9
Portfolio8
Ficheros7
Visitante5
Programas5
Legales3
Easter eggs2

SEO. Solo se indexa una página por idioma (español, inglés y japonés), con canónica propia, hreflang con x-default, sitemap y robots. Sus datos estructurados (WebSite y WebPage) apuntan a la persona del portfolio principal, y las respuestas de los comandos nunca se indexan.

Accesibilidad. Funciona sin JavaScript: la línea de comandos es un formulario de verdad. El foco se queda en la línea sin atrapar el teclado, el historial es una región log que leen los lectores de pantalla, cada dibujo en texto tiene su descripción, y los ocho temas pasan el contraste de 4,5:1. Admite zoom al 400 % y respeta la preferencia de reducir el movimiento.

Rendimiento. Un único componente de cliente dentro de un presupuesto de 25 kB, y la tipografía Ubuntu Mono alojada en el propio sitio y recortada a los caracteres que usa.

Seguridad y privacidad. Los comandos se interpretan en el servidor y nunca ejecutan una shell real. Tienen límites de longitud, de palabras, de comandos encadenados y de tamaño de respuesta, la política de seguridad de contenido usa un nonce por petición, se comprueba el origen y hay límite de peticiones. Lo que se escribe tras sudo, su o passwd no se registra nunca.

El recorrido de un comando

Arquitectura y calidad. Next.js con arquitectura hexagonal en seis módulos y 55 archivos de tests, que pasan con el formato, el lint y los tipos en GitHub Actions antes de cada despliegue. Lee el contenido de la API privada de la plataforma con una clave propia.

Estado. Publicada desde octubre de 2026.

Tecnologías

Capturas de pantalla