Design system · Tokens

Vellumwire DS: Um sistema de tokens em que cada cliente muda uma camada

System

Todo cliente novo começava refazendo o que já existia.

Cada projeto começava com uma biblioteca de componentes refeita do zero, mesmo quando a lógica não tinha mudado. O custo real aparecia no handoff: nomes novos para interpretar, espaçamentos para conferir, casos de borda sem documentação. Faltava uma camada entre componente e marca.

Papel
Product Designer
Tipo
Design system interno
Origem
Instivo, 2023; hoje a base de todo build da Vellumwire
Time
Afonso, implementação e hospedagem

Arquitetura

Core, Palette, Brand e Semantic

A estrutura fica fixa. As decisões do cliente moram na Brand, e os componentes só leem a Semantic.

Camadas Core, Palette, Brand e Semantic, cada uma referenciando a de baixo
Abrir em tamanho real

Paleta

Rampas de cor prontas antes de qualquer cliente

Toda rampa segue a mesma estrutura de 25 a 950, então dar a marca de um cliente é mapear as cores dele em rampas que já existem. Sete das oito rampas, uma por papel:

Sete rampas de cor de 25 a 950, cada uma mapeada para um papel da marca
Abrir em tamanho real

Brand

Os mesmos componentes em três marcas

Um card, um botão, um campo e badges sob três marcas de cliente. Mudam rampa, tipografia e raio, e o código do componente continua o mesmo.

Os mesmos componentes em três marcas fictícias
Abrir em tamanho real
Três celulares mostrando o mesmo app em três marcas diferentes
Northwind, Clearwater e Saffron: três produtos, nenhuma mudança nos componentes.

Componentes

Estados dos componentes

Botões, controles de formulário e feedback, cada um com suas variações e estados, gerados pelo mesmo código sob três camadas de marca.

Sete estados de botão em três marcas
Abrir em tamanho real
Estados de campo, checkbox e toggle em três marcas
Abrir em tamanho real
Badges de status, alerta, abas e avatares em três marcas
Abrir em tamanho real

Semantic

Componentes usam nomes de papel, como border.error

border.error significa a mesma coisa qualquer que seja a rampa do cliente. Uma visão parcial do conjunto no modo escuro:

Tokens semânticos de cor no modo escuro e os tokens de marca para onde resolvem
Abrir em tamanho real

Responsivo

Os breakpoints estavam nos tokens desde o início

Tokens de tamanho e tipo resolvem por breakpoint desde o início. Quando a Instivo precisou de uma tela mobile de estoque no meio do projeto, ela usou os mesmos tokens.

O mesmo layout resolvido para desktop, tablet e mobile
Abrir em tamanho real

Em produção

Em produção desde 2023

A arquitetura começou na Instivo em 2023, onde absorveu uma tela mobile que nunca esteve no escopo. Hoje é a base de todo build da Vellumwire, que o Afonso implementa e hospeda.

  • 4camadas: Core, Palette, Brand, Semantic
  • 8rampas de cor prontas antes de qualquer cliente
  • 1camada alterada para mudar a marca de um projeto