Documento vivo · v1.0

Design
System

Una guía visual de los tokens, componentes y patrones que definen el portfolio. Esta página renderiza los tokens reales del sitio: cualquier cambio en el código se refleja aquí automáticamente.

Úsalo como referencia al añadir secciones nuevas, modificar componentes o validar la coherencia visual. Si necesitas un nuevo token, edítalo en su origen (Tailwind, global.css o el componente correspondiente) y revisa cómo se ve aquí antes de publicar.

01

Color

Paleta minimalista construida sobre un fondo crema con un único acento rosa que actúa como firma visual. Los grises se usan en escala progresiva para crear jerarquía sin recurrir a más colores.

Base

Fondo principal

#F9F8F3

bg-[#F9F8F3]

Body, header (con blur), footer

Acento primario

#E0A4B0

bg-[#E0A4B0]

Estrella, hovers, links activos, filtro activo

Tinta principal

#111827

bg-gray-900

Texto principal, títulos sobre fondo claro

Blanco

#FFFFFF

bg-white

Fondo de cards, texto sobre covers oscuros

Negro puro

#000000

bg-black

Cover SalonTattoo, selección de texto

Escala de grises

Gray 300

#D1D5DB

bg-gray-300

Bordes de tags, separadores

Gray 400

#9CA3AF

bg-gray-400

Labels muted, captions

Gray 500

#6B7280

bg-gray-500

Texto labels, placeholders

Gray 600

#4B5563

bg-gray-600

Body principal

Gray 800

#1F2937

bg-gray-800

Texto oscuro secundario

Gray 900

#111827

bg-gray-900

Títulos, énfasis

Estados y bordes

Status verde

#22C55E

bg-green-500

Punto "disponible" con animate-ping

Emerald (contacto)

#10B981

bg-emerald-500

Pill "disponible para freelance"

Borde sutil

#000000 @ 5%

border-black/5

Header bottom, divisores de sección

Borde medio

#000000 @ 10%

border-black/10

Separador del language toggle

Gradientes de portada

UX/UI · Product

Salonomi

2024

Salonomi

radial-gradient(ellipse at 30% 20%, #9D6FFF 0%, #6B2DE6 60%, #4A1FA8 100%)

2025

El Noi del Pa

Branding · Social Media

Barcelona

El Noi del Pa

linear-gradient(160deg, #9C6F4F 0%, #7A4F35 60%, #5A3823 100%)

By Jeka

Fine Line Tattoo

By Jeka (Tattoo)

Negro puro #000 + patrón de puntos blancos al 6% de opacidad.

02

Tipografía

Dos familias en contraste claro: Cormorant Garamond (serif editorial, italic predominante) para el lenguaje cálido y narrativo, e Inter (sans neutra) para todo lo funcional — UI, labels, captions y body técnico.

Serif · Editorial

Aa

Cormorant Garamond

--font-serif

ABCDEFGHIJKLMNÑOPQRSTUVWXYZ
abcdefghijklmnñopqrstuvwxyz
0123456789 &.,!?¿—

Pesos: 300, 400, 500, 600, 700 · regular e italic

Uso: H1, H2, citas, body editorial. Casi siempre italic.

Sans · UI

Aa

Inter

--font-inter

ABCDEFGHIJKLMNÑOPQRSTUVWXYZ
abcdefghijklmnñopqrstuvwxyz
0123456789 &.,!?¿—

Pesos: 300, 400, 500, 600, 700

Uso: body, nav, botones, labels, captions, project meta.

Jerarquía

Trabajemos

H1 Hero

font-serif italic font-medium text-6xl md:text-8xl leading-[0.95]

¡Qué bueno verte por aquí!

H1 About

font-serif italic text-4xl md:text-5xl leading-tight

Featured project

H2 Destacado

text-3xl md:text-5xl italic font-serif

Proyecto destacado

Eyebrow / Tag

text-[11px] font-bold uppercase tracking-[0.25em]

¡Hola! Soy Jessica — pero todos me llaman Jeka. Diseño experiencias que conecten con las personas.

Body editorial

text-xl italic font-serif font-light leading-relaxed

Body técnico para descripciones de proyecto, copys cortos en footer y bloques que requieren legibilidad neutra.

Body principal

text-base text-gray-600 leading-relaxed

© 2026 Jessica Duran

Caption / micro

text-[10px] uppercase tracking-widest text-gray-400

Pesos disponibles

The quick brown fox

font-weight: 300

Light

The quick brown fox

font-weight: 400

Regular

The quick brown fox

font-weight: 500

Medium

The quick brown fox

font-weight: 600

Semibold

The quick brown fox

font-weight: 700

Bold

Letter spacing personalizado

JESSICA DURAN

tracking-[0.15em]

Servicios (badges), nav items

JESSICA DURAN

tracking-[0.2em]

CTA principales, navegación

JESSICA DURAN

tracking-[0.25em]

Featured project tags

JESSICA DURAN

tracking-[0.3em]

Captions pequeñas (10–11px)

JESSICA DURAN

tracking-[0.4em]

Subtítulos en covers

Reglas de uso

Usa serif italic cuando…

  • • Es un H1 o H2 (siempre italic).
  • • El tono es cálido, narrativo o personal.
  • • Es body editorial largo (about, contact intro).
  • • Acompañas con la estrella de 4 puntas.

Usa sans uppercase cuando…

  • • Es un eyebrow, tag, label o caption.
  • • Necesitas tracking amplio (≥0.15em).
  • • Es navegación, filtros o CTAs.
  • • El tono es funcional / técnico.
03

Componentes

Cada bloque está renderizado en vivo con el mismo markup que se usa en producción. Pasa el cursor por encima para ver los estados hover.

Botón CTA · Pill

border-2 border-white px-10 py-5 rounded-full hover:bg-[#E0A4B0] hover:border-[#E0A4B0]

Hero principal. Sobre fondo oscuro. Hover transiciona a rosa en 500ms.

Filter chips · Categorías

text-[11px] font-bold uppercase tracking-[0.2em] border-b-2

Estado activo: text-[#E0A4B0] border-[#E0A4B0]. Inactivo: text-gray-400 border-transparent.

Service badge · Pill bordeado

UX/UI Design Product Design UX Research Branding Illustration Prototyping
px-3 py-1 rounded-full text-[11px] border border-gray-300/70 hover:bg-[#E0A4B0]

Para listas de servicios o tags estáticos. No clicables.

Status indicator · Disponibilidad

Disponible para proyectos
Disponible para freelance

Variante header (izquierda) sin contenedor. Variante contacto (derecha) en pill bordeado.

Language toggle

ES / EN
text-xs font-bold uppercase tracking-widest

Project card

Card de proyecto: imagen aspect-[4/5] con scale 1.03 al hover, título serif italic con cambio de color a rosa, type en sans uppercase.

Featured project · Bloque hero

UX/UI · Product

Salonomi

2024
Proyecto destacado 2024

Salonomi

Web App

Plataforma SaaS para salones de belleza con gestión de citas, inventario y comunicación con clientes.

Ver caso completo

Copy button

inline-flex items-center gap-2 text-xs uppercase tracking-[0.2em]

Cambia label a "¡Copiado!" durante 2s tras el click.

Header · Anatomía

Logo
ES / EN
Specs: altura h-20 · contenedor max-w-7xl · fondo bg-[#F9F8F3]/80 backdrop-blur-md · fixed top con z-50

Cover components · Tamaño size="sm"

UX/UI · Product

Salonomi

2024

SalonomiCover

covers/SalonomiCover.astro

Props: title, size

2025

El Noi del Pa

Branding · Social Media

Barcelona

ElNoiCover

covers/ElNoiCover.astro

Props: title, subtitle, size

By Jeka

Fine Line Tattoo

SalonTattooCover

covers/SalonTattooCover.astro

Props: title, subtitle, size

04

Espaciado y layout

La unidad base de Tailwind es 0.25rem (4px). El portfolio usa una escala consistente y respira con generosidad — secciones grandes con py-24 md:py-32.

Escala de espacio

p-1 4px
p-2 8px
p-3 12px
p-4 16px
p-6 24px
p-8 32px
p-12 48px
p-16 64px
p-20 80px
p-24 96px
p-32 128px

Container widths

max-w-sm 384px
Texto del footer
max-w-md 448px
Descripción about
max-w-xl 576px
Descripción featured project
max-w-6xl 1152px
Artículo de proyecto
max-w-7xl 1280px
Contenedor principal del sitio

Anchos representados a 50% para caber en pantalla.

Border radius

rounded-sm

Imágenes de proyecto, snippets de código

rounded-[8px]

Imagen interna del ProjectCard

rounded-[12px]

ProjectCard contenedor

rounded-full

Botones CTA, badges, status dots

Grid de proyectos

grid-cols-2 md:grid-cols-3 gap-6 md:gap-10 aspect-[4/5]

Breakpoints

base < 768px Mobile (default mobile-first)
md: ≥ 768px Tablet y desktop pequeño
lg: ≥ 1024px Desktop grande (status indicator del header solo aparece aquí)

Esqueleto de página

<BaseLayout title="...">
  <section class="max-w-7xl mx-auto px-6 py-24 md:py-32">
    <div class="grid grid-cols-1 md:grid-cols-2 gap-16 md:gap-24">
      ...
    </div>
  </section>
</BaseLayout>

Patrón estándar para páginas de contenido (about, contact). Home y proyectos amplían con secciones full-width.

05

Iconografía

El sitio no usa librería de iconos. Todos los SVGs son inline y minimalistas. La estrella de 4 puntas es el icono signature.

Sparkle · El icono signature

w-4 h-4
w-7 h-7
w-12 h-12
w-20 h-20
w-32 h-32

ViewBox: 0 0 32 32 · fill currentColor

Aparece en: hero marquee, H1 about, H1 contact, featured project tag, los 3 covers (Salonomi, ElNoi, SalonTattoo) y el cursor personalizado.

Ver path SVG
<svg viewBox="0 0 32 32" fill="currentColor">
  <path d="M16 1.5 C16.6 11.2 20.8 15.4 30.5 16 C20.8 16.6 16.6 20.8 16 30.5 C15.4 20.8 11.2 16.6 1.5 16 C11.2 15.4 15.4 11.2 16 1.5 Z"/>
</svg>

Clipboard

Botón "Copiar email" en página de contacto. Stroke de 2.

Flecha unicode

Carácter con animación group-hover:translate-x-1

Punto pulsante

Status indicator. animate-ping + dot estático superpuesto.

Regla: al añadir un icono nuevo, mantén el criterio: SVG inline (no librería), stroke fino o fill plano, y siempre currentColor para que herede el color del contexto.

06

Animación

Transiciones discretas y largas (500–700ms ease-out) que refuerzan la calma editorial. Sin bouncing, sin overshoot.

Hover scale en card

Pasa el cursor
duration-700 ease-out group-hover:scale-[1.03]

Color transition

transition-colors duration-500

Slide right (entrada)

Hover para repetir

animate-slide-right · 0.8s ease-out

Definido en global.css. Variante -delayed con 0.2s delay.

CTA hover (rosa)

transition-all duration-500

Tabla de duraciones

duration-300 300ms Estados rápidos: filtros, color, opacidad
duration-500 500ms Hovers de CTA, transiciones de color en H
duration-700 700ms Scale de imágenes en project cards
marquee 80s linear infinite Hero marquee horizontal del nombre

Easing: casi todo es ease-out. Linear se reserva para animaciones infinitas (marquee, ping). No usar bezier custom.

07

Brand assets

Activos identitarios y reglas de tono visual.

Logo · Header size

By Jeka logo

Archivo: /public/logo-byjeka.png

Tamaño en header: h-10 w-auto (40px alto)

Clear-space sugerido: mínimo el alto del logo a cada lado.

Selección de texto

Selecciona este párrafo para ver el estilo de selección global. El fondo se vuelve negro y el texto blanco — coherente con el tono editorial minimalista.

selection:bg-black selection:text-white

Aplicado globalmente en <body> de BaseLayout.

Tono visual

Cálido / narrativo

Cormorant italic + body editorial

"¡Qué bueno verte por aquí!"

FUNCIONAL / TÉCNICO

Inter uppercase tracked

"PORTFOLIO SELECCIONADO"

— Jeka

Firma personal · acento rosa

Cierre de copy en contacto