Diseño sistemas para que las organizaciones puedan escalar.

Trato el Design System como un producto con usuarios dentro de la empresa. Diseño, maquetación y desarrollo trabajan con sus componentes, sus reglas y sus herramientas, sea cual sea la marca.

Trayectoria

14+ años diseñando producto digital

Escala en Ávoris

23marcas en el ecosistema
13productos digitales, B2B y B2C
27.158usos de 286 componentes en el código
85 %de una vertical nueva sale de componentes que ya existen

Un caso principal y dos que nacieron de él.

Primero construí el Design System de Ávoris. Después quisimos enseñar a negocio, maquetación y desarrollo cómo funcionaba lo que ya teníamos diseñado, antes de que pidieran algo nuevo, y para eso hacían falta los componentes en código. Al construirlos vimos que también podíamos diseñar ahí y devolverlo a Figma. Con esos mismos componentes montamos después una plataforma donde se componen las pantallas de cada marca con lo que ya existe.

Un caso principal y dos que nacieron de él.

Primero construí el Design System de Ávoris. Después quisimos enseñar a negocio, maquetación y desarrollo cómo funcionaba lo que ya teníamos diseñado, antes de que pidieran algo nuevo, y para eso hacían falta los componentes en código. Al construirlos vimos que también podíamos diseñar ahí y devolverlo a Figma. Con esos mismos componentes montamos después una plataforma donde se componen las pantallas de cada marca con lo que ya existe.

Crear desde cero el Design System de 23 marcas Lo empecé con un solo producto y una sola marca. Analicé qué comparten las marcas y qué cambia en cada una, y después llegó lo más difícil, que los equipos lo usaran. Hoy lo lidero con un equipo de cuatro diseñadores. Explorar el caso: Crear desde cero el Design System de 23 marcas
Diseñar en código sin salir del sistema La IA generaba una card en minutos, pero con nombres y valores inventados. Ahora trabaja con las mismas piezas, variables y nombres que en Figma. Explorar el caso: Diseñar en código sin salir del sistema
Montar y probar distintos layouts con componentes del sistema Cuando negocio pregunta si algo ya existe, desde diseño se lo enseñamos con piezas reales, en el navegador y con la marca que toca, donde se comprueba cómo se adapta a cada ancho y cómo se comporta al usarlo. Explorar el caso: Montar y probar distintos layouts con componentes del sistema

Sobre mí

Soy Product Designer especializada en Design Systems.

Desde 2023 construyo y lidero el Design System de Ávoris, sobre el que funcionan en producción los flujos de reserva de hoteles, vuelos, traslados y el resto de productos de viaje del grupo. Antes diseñé productos B2B y B2C para varias marcas de un grupo fintech de medios de pago, junto con el Design System de cada una. Sigo diseñando interfaces, y también las piezas y las reglas con las que se construyen.

Cada etapa incluye la anterior.

Defino cómo se organiza y evoluciona el sistema

La jerarquía de variables, los componentes construidos con diseño atómico, con sus variantes y slots, y la gobernanza que decide qué entra, quién lo aprueba y cómo evoluciona.

Construyo herramientas para trabajar con él

Dirijo a la IA para construir las herramientas internas del sistema: la generación de las variables de una marca nueva a partir de su web, con la accesibilidad validada, y plugins de Figma que la auditan en un diseño. También la uso para recorrer un briefing o un documento funcional y sacar los unhappy paths, los estados y los casos límite que nadie había definido. Reviso lo que genera antes de incorporarlo.

Sigo el avance y la carga del equipo

Cruzo los datos de Jira con la capacidad y la dedicación del equipo y la evolución de cada proyecto, con el origen de cada cifra a la vista. Con ese panel preparo los reportes de estado para managers y dirección y respondo a dudas sobre plazos, carga o prioridades.

Criterio de trabajo

  1. Creencia anterior, descartada: El diseño termina en la interfaz.

    Principio actual: El diseño abarca la interfaz y las reglas que hacen posible el producto.

  2. Creencia anterior, descartada: Cada necesidad pide una solución.

    Principio actual: Las necesidades compartidas piden un sistema.

  3. Creencia anterior, descartada: Un Design System es una librería de componentes.

    Principio actual: Un Design System es un producto y necesita adopción, gobernanza y evolución.

  4. Creencia anterior, descartada: Una buena decisión depende solo de la intuición.

    Principio actual: Una buena decisión combina criterio y evidencia.

  5. Creencia anterior, descartada: Incorporar tecnología es avanzar.

    Principio actual: La tecnología importa cuando mejora cómo diseñamos, construimos y operamos.

Primer caso: Ávoris

Crear desde cero el Design System de 23 marcas

Cómo construir una base común sin borrar la identidad de cada marca.

Explorar el caso: Crear desde cero el Design System de 23 marcas
Todo el trabajo

Caso: Ávoris

Crear desde cero el Design System de 23 marcas

Problema
Las marcas compartían plantillas rígidas de página completa en las que solo cambiaban color y tipografía. Cada necesidad propia se resolvía replicando la plantilla entera, sin mirar el resto del flujo ni a los demás productos.
Decisión
Sustituir las plantillas rígidas por componentes independientes en capas (core, comunes de B2B y de B2C, y propios de cada producto), con una jerarquía de variables para que cada marca defina su tema y slots para que un mismo contenedor sirva a negocios distintos.
Resultado
De un producto y una marca a 13 productos digitales y 23 marcas, sobre la misma base.
Periodo
Q2 2023 — actualidad
Rol
Lead del Design System
Equipos involucrados
Diseño, maquetación y desarrollo
Stack
Web Components, Astro y Angular

En Ávoris, cada producto funciona casi como una empresa propia.

Un Design System común tenía que servir a equipos que deciden por su cuenta.

Ávoris es una organización enorme y multimarca, con productos, equipos y prioridades que funcionan con criterios y procesos propios. Todos compartían la misma plantilla estática de página completa, que solo dejaba cambiar colores y tipografías y trataba cada pantalla como una sola pieza. Para cambiar una parte había que replicarla entera, modificarla y publicar el layout nuevo.

Las peticiones llegaban de muchos frentes a la vez, y cada una se resolvía así, con su excepción en el código. Con los años, esas excepciones se acumularon sin control, y tocar la base se volvió tan caro que muchas mejoras e innovaciones se quedaban sin hacer.

De pantallas de una sola pieza a componentes independientes.

Cada componente evoluciona por su cuenta, y la lógica de negocio decide cuál va en cada sitio.

Empecé por un solo producto, hoteles B2B, y una sola marca, pero con la arquitectura pensada para que se sumaran las demás marcas B2B de hoteles. De ahí salieron los componentes construidos con diseño atómico, con sus átomos, moléculas y organismos, y la jerarquía de variables, que deja que cada marca cambie solo su capa. Al llegar otros productos y negocios vimos que muchas de esas moléculas y organismos les servían tal cual o con pequeños ajustes. En lugar de replicarlos les añadimos slots, con un contenedor común en el que cada producto conmuta su contenido. Así quedaron las capas de hoy: core, comunes de B2B y de B2C, y propios de cada producto.

La jerarquía de variables es lo que deja que una misma pieza sirva a marcas muy distintas entre sí. Con primarios rojos, azules oscuros o amarillos, cada componente se adapta a cada marca de forma ágil y precisa, sin abrir excepciones en el código.

Tres capas: el color, el uso que se le da y el componente que lo pide. Si cambias el color de la marca, cambia todo lo que lo usa; si cambias el del botón, solo el botón. Cada marca rellena las mismas capas con sus propios valores.
¿Qué pasa cuando llega una marca nueva?

Define su tema sobre la jerarquía de variables y reutiliza todo lo que puede. Si necesita un componente que no existe, para diferenciarse o por una necesidad propia, se crea; la tendencia es siempre la máxima reutilización.

¿Qué pasa cuando llega un producto nuevo?

Hereda lo común (core y lo compartido de B2B o de B2C) y construye solo lo propio de su negocio. Lo que se repite entre productos pasa a ser transversal, con slots para sus diferencias.

¿Cómo evitar que todas las marcas parezcan iguales?

Cada marca decide la estructura de sus layouts y qué componentes y variantes usa en ellos, y las variables le dan un grado de personalización muy alto, con color, tipografía y formas propias sobre las mismas piezas.

¿Qué pasa cuando quien usa el sistema es un agente de IA?

Trabaja con lo mismo que el equipo: los componentes, las variables y las reglas de uso del sistema, y parte de ahí en lugar de inventar estructuras o valores. Es lo que hace que el sistema esté preparado para la IA (AI-ready). Lo que propone un agente se revisa como cualquier otro cambio antes de entrar en la librería.

La adopción fue el verdadero reto.

Lo difícil no fue usar los componentes, sino que la organización entendiera por qué el sistema necesitaba variables, slots y piezas atómicas.

En el proyecto Hoteles B2B se usaron los componentes del sistema desde el principio. Lo que costó fue que una organización acostumbrada a resolverlo todo con una plantilla estática viera qué ganaba con trabajar de otra forma: cambiar una pieza sin rehacer la página, diferenciar una marca sin duplicar código y empezar un producto nuevo con casi todo hecho.

Gran parte de mi trabajo fue formar a los equipos y resolver sus dudas mientras el sistema aterrizaba en código. Lo acompañé con datos: el uso real medido en código, hoy 27.158 instancias en las 23 marcas, y la documentación de cada componente con un formato común.

Lo que era una plantilla rígida es hoy un sistema que cada marca y cada producto adapta.

  • Una base común

    Marcas y productos comparten los mismos componentes, y cada uno decide cómo usarlos en sus pantallas.

  • Documentado

    El 87 % de los componentes está documentado con el mismo formato machine-readable, y los agentes de IA lo consultan a través de Figma.

  • Más rápido al empezar

    Un producto o un negocio nuevo ya no copia una plantilla cerrada; parte de lo que existe en diseño, en maquetación y en desarrollo, y solo construye lo suyo.

Con el sistema en producción, el siguiente paso era que todos, negocio incluido, pudiéramos ver cómo quedaría una pieza o una pantalla nueva con lo que ya existía, cuando aún no se había desarrollado nada, y construir después solo lo que faltaba. De ahí salieron los otros dos casos: Round trip, los componentes en código para diseñar y probar antes de construir, y Plataforma, para montar pantallas con ellos.

Siguiente caso: Round trip

Diseñar en código sin salir del sistema

El mismo contrato de diseño, de Figma a código y de vuelta.

Explorar el caso: Diseñar en código sin salir del sistema
Todo el trabajo

Caso: Round trip

Diseñar en código sin salir del sistema

Problema
La IA nos permitía crear elementos en código con rapidez, pero esos resultados no conocían la estructura, las variables ni las reglas del Design System.
Decisión
Convertir el sistema de Figma en un contrato que el código también respetara, y construir un camino de vuelta editable a Figma antes de cualquier publicación.
Resultado
El equipo lo usa hoy con componentes reales. Una pieza se cambia en código, se valida antes de construirla (aspecto, contenido, comportamiento responsive, accesibilidad y navegación por teclado) y vuelve a Figma como componente editable. Yo decido si entra en la librería.
Periodo
Q4 2025 — actualidad
Rol
Lead del Design System
Equipos involucrados
Diseño
Tecnología
Figma · Web Components · IA · API de Figma

El sistema estaba en Figma, pero no en lo que mostrábamos en código.

Con la IA, una interfaz en código salía en minutos, pero sin los componentes del Design System.

Con la llegada de la IA, mi equipo empezó a crear elementos en código con más rapidez, para enseñar y probar su comportamiento antes de que se construyeran.

Los primeros resultados parecían correctos, pero tenían dos fallos de distinto peso. El menor eran los valores sueltos donde tocaban variables, como un color "parecido" en lugar del token exacto. El grave era que la IA inventaba la estructura de los componentes, distinta de la que tenían en Figma, y eso no se veía a simple vista. Con diseño atómico, cada pieza encaja en los huecos de otra (slots y contenidos intercambiables), y una estructura inventada rompía ese encaje sin avisar, así que no había forma de prever cuándo dejaría de encajar algo y fallaría todo. Necesitábamos que el código respetara la misma estructura y las mismas reglas que el diseño.

Cada pieza generada por libre abría una grieta en el sistema.

La librería no se rompía de golpe. Se erosionaba pieza a pieza, hasta dejar de ser una fuente fiable.

Con una instrucción, la IA generaba una card o una pantalla en minutos, pero desconocía los componentes, sus variables y cómo cambiaban entre marcas. Ante cada vacío, inventaba una respuesta.

Una variable mal puesta se ve en una revisión; una estructura inventada, no. La pieza parecía correcta y funcionaba sola, pero al meterla en un slot o combinarla con otras dejaba de encajar, y el fallo aparecía después, lejos de donde se había originado. Lo que se ganaba al generar se perdía rehaciendo piezas con los componentes de verdad. Para evitarlo, la IA tenía que trabajar desde la estructura real de los componentes y desde las variables del sistema.

Fiel quería decir construido igual, no solo parecido.

Mismas piezas, mismas variables y mismos nombres que en Figma. Ese contrato evita tener que traducir nada entre diseño, maquetación y desarrollo.

Una imitación visual no bastaba. El código debía conservar la estructura, la composición y las variables de cada pieza para que la IA pudiera trabajar con el sistema.

Los componentes complejos se construyen combinando piezas pequeñas y sus propiedades visuales usan variables del sistema. Cada variable mantiene el mismo nombre en Figma y código, sin traducciones ni equivalencias.

Definí sus reglas de trabajo, y las más eficaces son las restrictivas, las que delimitan lo que la IA no puede hacer. La estructura de un componente no la adivina; la lee de Figma. Tampoco inventa contenido "más realista"; copia los textos de ejemplo tal cual. Si una variante pide cambiar la estructura, para y me avisa antes de construir. Y no da una pieza por terminada hasta cubrir todas sus variantes reales. Los errores del propio Figma no los arregla por su cuenta; los reproduce y me los señala para corregirlos en origen.

hotel card shell · organism
media
imagebadgesliderfavoritebadge y favorito, según la marca
header
titlelocationratingrating en tres formas: estrellas, nota o mínima
body
boardamenitiespoints of interesttagsservicios con iconos, en texto o nada
footer
pricectaadmite "desde" y descuento
La variación no rompe la identidad. La misma card en tres marcas, con cuatro zonas y trece piezas. Cada marca elige la variante y la forma de cada pieza, muestra u oculta las ocho opcionales y la pinta con sus variables. En Anatomía se ve el shell, con lo que admite cada zona y lo que es opcional.

Empezó para enseñar cómo se comporta una pieza y acabó siendo otro sitio donde diseñar.

Al ser fiel, en ese código se podía probar el estado que faltaba o una variante nueva, y no solo mirarla.

Desarrollo ya tenía algunos de los componentes en Angular, pero diseño necesitaba enseñar a negocio el comportamiento, la animación y la interacción que buscábamos antes de que se construyeran, y cambiar el contenido de los slots sin esperar a desarrollo. Para eso hicimos una versión propia en Web Components, independiente de la de producción, con la estructura, las variantes y las variables de las librerías de Figma. Maquetación y desarrollo siguen construyendo los componentes de producción, pero ahora parten de prototipos animados e interactivos.

Cuando esa versión empezó a ser fiable, ya no servía solo para enseñar. En ella se podía modificar una pieza o crear una variante nueva dentro de las reglas del sistema, y ese cambio es el que después vuelve a Figma.

La vuelta terminaba en Figma. La entrada al sistema venía después.

Un layout, un componente o una variante podían regresar como material editable. Volver no significaba publicar.

Hay round trip cuando un diseño continúa en código bajo las mismas reglas y vuelve a Figma con sus capas y relaciones, listo para seguir trabajando.

En Figma revisamos si la propuesta reutiliza piezas existentes o necesita una variante o un componente nuevo. Lo que se aprueba va a la librería común o a la específica de un producto, y tratamos de que todo sea lo más transversal posible. Cualquier propuesta puede corregirse o descartarse, y lo que se publica lo decide la revisión, no la automatización.

Una petición con tres cambios para la card: la valoración en chip, un componente de garantía y el botón primario a ancho completo. Cada cambio se escribe en el código de la card y vuelve a Figma montado en una variante nueva del mismo componente, con sus capas y propiedades. La variante llega en estado draft, pendiente de revisión.

Volver a Figma no significa estar aprobado.

La automatización transporta el cambio. Una persona decide si entra en la librería.

La librería tiene un responsable de mantenimiento que revisa los cambios del día y publica una versión al cierre de cada jornada, así que el equipo empieza siempre sobre la última versión estable.

Cada pieza muestra su estado: en curso, en revisión o ready for dev. Como Lead del Design System, reviso el cambio en Figma y solo después de aprobarlo cambio su estado a ready for dev. La publicación en la librería no es automática.

Las variables siguen su propio camino. El equipo puede proponerlas junto al componente en Figma; yo reviso la nomenclatura y el uso antes de incorporarlas a su colección.

La IA identifica, compara y transporta los cambios siguiendo esas reglas, pero no decide la nomenclatura, el alcance ni qué se publica.

Cuando una pieza pasa a ready for dev, se genera automáticamente su changelog frente a la última versión publicada y queda en la página de changelog de Figma, donde los demás equipos consultan el Design System. Está escrito para el handoff, en un formato que acordamos diseño, maquetación y desarrollo. Recoge, entre otras cosas, quién hizo el cambio y qué proyecto lo provocó, qué componentes internos se modificaron, si alguno pasa a usar otra variable, qué propiedades CSS cambiaron y qué variantes o nombres son nuevos. Si después cambia algo en Figma, se actualiza también el código, para que los dos cuenten siempre lo mismo.

Límite del proyecto

Estos Web Components son una herramienta de diseño. No sustituyen la maquetación ni la lógica del producto, que siguen siendo responsabilidad de maquetación y desarrollo. El ciclo que se cierra es Figma ⇄ su representación de diseño en código.

Hoy el equipo diseña también en código, con las piezas del sistema.

  • En uso

    El equipo lo usa a diario con componentes reales.

  • Una vuelta gobernada

    Nada entra en la librería sin pasar por mí: en curso, en revisión, ready for dev.

  • Reutilizable

    El mismo mecanismo funciona en otros Design Systems propios, sin cambios.

La IA sigue generando código, pero ya no inventa la estructura de los componentes. La lee de Figma y parte de los que el sistema ya tiene construidos, con sus variables y sus reglas, así que lo que propone puede volver a Figma como componente editable.

Siguiente caso: Plataforma

Montar y probar distintos layouts con componentes del sistema

Ver qué existe, probarlo y conversar sobre la misma interfaz.

Explorar el caso: Montar y probar distintos layouts con componentes del sistema
Todo el trabajo

Caso: Plataforma

Montar y probar distintos layouts con componentes del sistema

Problema
El sistema estaba construido, pero comprobar si una necesidad ya estaba cubierta seguía dependiendo de conocerlo o preguntar al equipo.
Decisión
Exponer componentes reales en una plataforma donde buscar, combinar, cambiar de marca y probar dentro de una pantalla.
Resultado
Ahora una petición empieza montando la pantalla delante de negocio con componentes reales. Si existe, se ve; si no, se ve qué falta, y desarrollo señala los límites cuando todavía es barato cambiar.
Periodo
Q1 2026 — actualidad
Rol
Lead del Design System
Equipos involucrados
Diseño, maquetación y desarrollo
Stack
Web Components, Astro y Angular

Lo que ya existía no estaba al alcance de quien tenía que decidir.

Muchas veces no hacían falta más componentes, sino poder comprobar de forma rápida y fiable lo que ya estaba diseñado.

La información estaba repartida entre documentación, Figma e implementación. Para quien no trabajaba a diario en el sistema, saber si una necesidad ya estaba cubierta seguía requiriendo preguntar al equipo.

Lo que no se puede comprobar se vuelve a pedir.

Una pantalla en Figma no bastaba para saber si una pieza servía o si faltaba algo, y la duda acababa en una petición nueva.

Cada fuente respondía una parte: qué se había diseñado, cómo funcionaba o qué estaba construido. Para saber si una necesidad concreta ya estaba cubierta todavía había que reconstruir la respuesta.

Así, una duda sobre lo existente podía empezar como una petición nueva, con otro análisis y otra conversación antes de descubrir que parte del problema ya estaba resuelta.

El catálogo tenía que funcionar, no solo describirse.

Construí la plataforma sobre esos Web Components, con las marcas y la configuración de producción, para explorar componentes reales dentro de layouts reales.

En lugar de añadir otra capa de documentación, construí el catálogo alrededor de los componentes que ya teníamos en código, fieles a los de producción. Usaba los mismos tokens que producción y respetaba lo que ya estaba decidido y construido. Cada marca guardaba su configuración en un JSON (qué layouts y qué componentes usa), así que dos marcas del grupo podían enseñar pantallas distintas con las mismas piezas.

Cada componente podía cambiar de marca, variante, página y contexto, y la pantalla montada se podía recorrer en el navegador. La respuesta a "¿esto ya lo tenemos?" era una página.

La plataforma la construí dirigiendo a la IA, sobre los mismos Web Components del round trip. Decidí qué tenía que poder hacer, qué marcas y layouts entraban y cuándo algo estaba bien; la IA escribió el código y lo revisé en el navegador.

  1. Una página nueva llega con su guion de huecos
  2. Cada pieza elige su variante
  3. Las piezas se sueltan donde van
  4. Otra marca, la misma estructura, con sus tokens
  5. Y cada marca elige sus propias variantes
  6. Y se navega a su ancho real, hasta móvil
Se arrastra lo que ya existe y, al cambiar de marca, la pantalla es otra, no la misma en otro color. Además, lo montado se puede navegar. Es "¿esto ya lo podemos hacer?" contestado enseñándolo.

Una misma composición ayudaba a decidir antes de construir.

Negocio, diseño, maquetación y desarrollo podían discutir una decisión antes de llevarla a producto.

Negocio podía comprobar si la composición cubría la necesidad; mi equipo y yo, evaluar si respetaba el sistema; maquetación, ver cómo se adaptaba a cada ancho; desarrollo, señalar límites mientras corregir seguía siendo barato.

El comportamiento responsive también entraba en esa conversación. Se discutía qué debía permanecer visible y qué podía resumirse cuando la pieza se estrechaba.

Negocio¿Se puede seguir filtrando y ordenando en cualquier ancho?

Diseño¿Qué filtros siguen a la vista cuando no caben todos?

Maquetación¿En qué anchos cambia la barra y qué pasa en cada tramo?

Desarrollo¿Es una sola pieza o hacen falta varias versiones?

Ancho de la pieza
Disponible Cerca del centro Con desayuno Cancelación gratis +2 Filtros · 4 Ordenar por precio

Estrecha la pieza y mira qué prioriza. Es la misma pieza en todos los anchos: al estrecharse hace explícito qué sigue a la vista, qué pasa a contarse y qué se agrupa. La demo da a negocio, diseño, maquetación y desarrollo un mismo objeto sobre el que decidir antes de llevarlo a producto.
En qué se diferencia de la documentación del sistema

La documentación describe cada componente por separado. Aquí se ven las implementaciones reales juntas, en una composición, con una marca y un comportamiento concretos. Esa es la diferencia entre leer que algo existe y comprobar que funciona.

Para saber si algo existe ya no hace falta saber a quién preguntar.

Negocio, maquetación y desarrollo lo ven a la vez, en la misma pantalla y con la marca que toca.

  • Antes de pedir

    Se monta la pantalla con lo que hay y se ve qué parte ya está cubierta.

  • Antes de construir

    Desarrollo señala los límites en la demo, no en el sprint.

Con la plataforma se completa el paso que se buscaba cuando el sistema llegó a producción. Sobre los componentes que el round trip llevó a código, negocio ve cómo quedaría una pantalla nueva antes de que se desarrolle nada.

Para terminar: Contacto

Hablemos del siguiente reto de diseño.

Si tu equipo necesita diseñar y operar sistemas que puedan crecer, hablemos.

Ir a Contacto

Gracias por llegar hasta aquí.

Si necesitas crear o hacer crecer tu Design System, cuidar el handoff a desarrollo o llevar la IA al día a día de tu equipo de diseño, escríbeme.