[ PORTFOLIO · LENGUAJE DE DISEÑO ]

Design System ·

Tinta sobre papel. El portfolio corre sobre un solo sistema editorial: un escritorio crema, hojas más claras enmarcadas en tinta, un acento rojo lapicera mezclado en tres temperaturas y un tintero oscuro para cerrar. Esta página lo documenta, construida con el mismo sistema que describe.

[ 01 · EL SISTEMA ]

Tinta sobre papel

La metáfora guía cada decisión. La página es un escritorio crema; cada proyecto es una hoja más clara enmarcada con borde de tinta y doble filete de imprenta; el énfasis se dibuja a mano en rojo lapicera; y el sitio termina levantando el papel para revelar el tintero — un acto final oscuro donde vive el contacto. La tipografía grita (una serif negra a escala de río), el color casi calla: crema, tinta y un rojo.

El caparazón sostiene a propósito tres sistemas de producto autocontenidos: Fika con su azul SaaS, Pack con su óxido cálido, Eventbrite con su rojo señal. Cada producto se siente él mismo y no el portfolio — un escritorio, tres objetos distintos encima.

[ 02 · COLOR ]

Tokens

Cada color es una CSS custom property con rol semántico. Tres superficies cuentan toda la historia — escritorio, hoja, tintero — y el único acento viene en tres temperaturas, cada una mezclada para su fondo y verificada contra WCAG AA.

Superficies

--cream
#EFEEE8 · el escritorio
--paper-1
#FBFAF6 · la hoja (láminas de proyecto)
--night
#1B1A16 · el tintero (acto final)

Rampa de tinta

--ink
#21211D · display y marcos
--ink-2
#34342E · texto secundario
--stone
#A6A59C · kickers sobre oscuro

Un rojo, tres temperaturas

--pen · #D4380D
·  001
Display y trazos: puntos de los ríos, contadores gigantes, reglas. Solo tamaños decorativos.
--pen-text · #B93109
[ 001 ] · texto chico
Profundizado para texto chico sobre claro — 4.5:1+ (AA) en crema y papel.
--pen-night · #E86B41
subrayado .
Aclarado para el tintero — ~5:1 sobre --night. Hovers, subrayados, el punto final.

Paletas por proyecto — tres sistemas autocontenidos

Fika
iOS · TFM del máster · Azul SaaS
#3B6FE0 #2D58C4 #16A34A
Pack
iOS · Proyecto personal · Óxido cálido
#B8390A #6B3D1E #B47A1F
Eventbrite
Web · Rediseño no solicitado · Rojo señal
#D4380D #A82A0A #4F46E5

[ 03 · TIPOGRAFÍA ]

Cinco voces

Tres familias, cinco roles fijos. Nada intermedio: el texto o es un monumento o está a su servicio. Source Serif 4 lleva el display (900) y el registro editorial (400); Hanken Grotesk habla statements y cuerpo; JetBrains Mono solo aparece entre corchetes.

Display · serif 900
Ríos, nombres de proyecto, HABLEMOS. Mayúsculas, tracking −0.015em, interlínea ≤ 0.98. Cierra con marca roja.
Eventbrite ·
Editorial · serif 400
El About y la pregunta de la banda. clamp(19px, 2vw, 24px), interlínea 1.45–1.5.
Seis años dentro del software empresarial me enseñaron cómo los productos salen mal.
Statement · Hanken 600 caps
El contrapunto fijo del hero, abajo a la derecha. Mayúsculas, interlínea apretada.
Diseño los que ponen al usuario primero.
Body · Hanken 400
Descripciones de proyecto y prosa funcional. 15.5px, interlínea 1.6–1.7.
Análisis heurístico del flujo de creación de eventos de Eventbrite — 14 problemas, 7 pantallas reducidas a 1.
Meta · mono brackets
Kickers, contadores, contacto, colofón. 11.5–14px, tracking 0.16em, siempre entre [ ].
[ PRODUCT DESIGNER · BARCELONA ]

[ 04 · MOTIVOS ]

Gestos recurrentes

La identidad vive en un puñado de gestos repetidos — cada uno aparece al menos dos veces en el sitio, así nada se lee como efecto suelto.

[ 004 · TU PROYECTO ]
Los corchetes
La metadata mono siempre lleva corchetes: meta del hero, kickers, contacto, colofón. El sitio abre y cierra en la misma voz.
001
Contadores en trazo
Cada lámina lleva su número como cifra gigante en trazo rojo — una numeración que termina declarando al visitante proyecto [ 004 ].
La lámina y el doble filete
Los proyectos viven en papel más claro enmarcado por un borde de tinta de 2px con hairline interior a 6px — filete de imprenta. Esquinas a 4px: láminas, no cards.
los productos que odiaba usar me enseñaron más
Subrayado a lapicera
El énfasis se dibuja, no se pinta: un subrayado rojo grueso en la temperatura AA de su fondo.
La revelación
Un solo efecto de scroll: el mundo crema termina en esquinas redondeadas y se levanta del tintero clavado. Guiado por scroll, sin JS, desactivado donde no cabe.
9:41 · a mano
Dispositivos CSS
Cada mockup de teléfono y navegador es DOM escrito a mano — sin screenshots. Las UIs animan al entrar: anillos que se dibujan, checks que se tildan, previews que aparecen.

[ 05 · ESPACIO Y FORMA ]

Specs de layout

Escenas a sangre completa con un mismo ritmo de bordes; radios y sombras en una escala corta y deliberada.

SpecValorDónde
Gutter de bordeclamp(24px, 4vw, 72px)Láminas, doble página del tintero
Alto de escenamin-height: calc(100svh - 112px)Cada proyecto es una escena casi-viewport
Escala de radios4 / 12 / 16 / 44 / 999Lámina / browser / pantallas / hoja que se levanta / pills
Sombrasrgba(33,33,29, …) — tinta cálida, nunca negro azuladoDispositivos, hoja que se levanta
Acto finalsticky bottom · 100svh - ~120pxEl tintero queda clavado; ~120px de papel quedan visibles al final
Salto tipográficodisplay ≥ 8vw vs cuerpo 15.5pxMonumento o servicio — sin tamaños intermedios

[ 06 · ACCESIBILIDAD ]

Accesible por diseño

El sistema incluye sus límites: cada floritura decorativa tiene un fallback funcional.

Rojo AA según fondo
El texto rojo chico nunca usa el rojo display: --pen-text da 4.5:1+ sobre claro, --pen-night ~5:1 sobre oscuro.
Reduced motion con estados completos
Toda la coreografía de entrada (duración y delay) colapsa a estados finales — nada queda escondido detrás de una animación.
Esqueleto semántico
Un solo h1 (solo para lectores, sobre los ríos decorativos), landmarks de header/main/footer, skip link, focus-visible en todo.
Decoración muda
Los contadores generados usan la sintaxis de texto alternativo content: "001" / ""; los mockups son aria-hidden. La tecnología asistiva escucha solo significado.
Sin JS e impresión
Sin JavaScript el hero se compacta y todo se lee; la impresión aplana la revelación y apaga los fondos oscuros.
Scroll nativo
La rueda y el trackpad nunca se interceptan. El deslizamiento suave existe solo en los saltos de ancla — y se cancela apenas el usuario scrollea.