Saltar al contenido
←Proyectos
28 de mayo de 20262 min de lecturaEn producción

DevConsole: un portfolio en forma de terminal.

Una terminal en el navegador, hecha con Vue 3, donde cada comando abre una sección de mi perfil, con la lógica separada de la interfaz.

Vue 3ViteTailwind v4Typed.js
Terminal de DevConsole
Qué es
Portfolio interactivo en forma de terminal, publicado en console.leosoftware.dev.
Mi papel
Proyecto propio, en solitario: diseño, desarrollo y despliegue en Vercel.
Stack
Vue 3 · Vite · Tailwind v4 · Typed.js
Resultado
Lógica de comandos desacoplada de la interfaz · secciones cargadas bajo demanda para un arranque ligero.
Estado
En producción.
Enlaces
Abrir DevConsole (se abre en una pestaña nueva)Ver código (se abre en una pestaña nueva)

Para mi portfolio elegí una terminal en vez de tarjetas: alguien técnico sabe lo que es, y si funciona bien, ya le has contado algo antes de que lea nada. Está en producción en console.leosoftware.dev.

La lógica, separada de la pantalla

Todo lo que pasa al escribir un comando, abrir una sección o recorrer el historial está en un solo archivo, useTerminal.js. TerminalWindow.vue solo pinta lo que le pasan. Si mañana quiero otra interfaz, en React o en móvil, cambio la pantalla y el núcleo no se toca.

Los comandos no tocan el HTML

Lo rápido habría sido modificar el HTML desde cada comando, pero eso pega la lógica a la pantalla y la hace difícil de cambiar y de probar. La zona de salida es un componente con dos operaciones, añadir y limpiar: los comandos las llaman y el componente decide cómo se ve.

Autocompletado simple: una lista y un prefijo

Mientras escribes, aparece en gris el resto del comando más probable, y Tab o la flecha derecha lo completan. Por debajo es una lista y una búsqueda por prefijo: son menos de veinte comandos y no hacía falta más.

Dos idiomas sin recargar y secciones bajo demanda

Los textos en inglés y español están en un módulo aparte que la terminal consulta por clave. lang en o lang es cambia al momento, y el idioma se recuerda en el navegador. Las secciones grandes se cargan solo al abrirlas, como componentes asíncronos, para que la terminal arranque ligera.

Un fondo animado que no gasta batería

El fondo es el de esta web: un patrón de barras diminutas y la barra de leo/ hecha de partículas, que se apartan del cursor. En móvil queda tenue y quieta, y la animación se para cuando la pestaña no se ve.

Lo que aprendí: saber dónde parar

Una terminal puede crecer sin fin. Tuve un sistema de archivos virtual con ls, cd, cat y pwd, y lo quité: ahora cada comando abre su sección. Quería enseñar cómo decido, no cuántas cosas meto.

Construido porIsmael Manzano LeónFull Stack Developer · leo/ · leosoftware.dev
Abrir DevConsole→

¿Encaja con lo que buscáis? Escríbeme →