Todos os projetos

Design System

Um sistema white label para todo o produto, com future proof em mente

A capa do Design System, com o texto "Components, typography, colors and variables", sobre três páginas do arquivo: os ícones, os badges e os estados de checkbox.
Atuação
Único product designer, de ponta a ponta
Escopo
Design system, das fundações aos componentes
Período
2 a 3 meses
Plataforma
Web responsiva, com variáveis do Figma
01Problema

Um produto datado, sem documentação e design system como base

EC Affiliates é um nome fictício, por confidencialidade. A interface estava datada, e não havia nenhum design system dando consistência a ela.

Cada tela era montada na mão, então o mesmo botão, a mesma linha de tabela e o mesmo campo existiam em versões um pouco diferentes. Os devs precisavam interpretar tela por tela, e cada inconsistência virava uma dúvida, e muitas vezes retrabalho. O objetivo era primeiro criar uma linguagem de design consistente, e construir uma nova interface em cima dela.

02Abordagem

Neutro, acessível e fácil de manter

Neutro de propósito

A empresa queria ter a opção de vender o produto como white label no futuro, então o sistema não podia depender da personalidade de uma marca. Ele precisava ser limpo, direto e discreto o suficiente para receber outra marca.

Sem uma marca para me apoiar, a clareza veio da estrutura: espaçamentos consistentes, contraste que funciona em qualquer paleta e componentes que se comportam do mesmo jeito, sejam quais forem as cores.

Acessibilidade desde a base

Fui checando a interface utilizando o padrão WCAG enquanto projetava, em vez de auditar tudo no final.

Cada família de cor é uma escala tonal completa, então o contraste é resolvido uma vez só, na combinação dos tons. Num dashboard em que as pessoas leem números o tempo todo, legibilidade é o que separa um produto que funciona de um que não funciona.

Feito para durar

Organizei o arquivo para ser usado e evoluído, não só admirado.

Os tokens têm nomes em escala (de shadow-md a shadow-3xl, tons de cor numerados), então sobrevivem a um rebrand, e, com as cores em variáveis, aplicar um tema novo é possível com uma única alteração.

03Solução

Fundações, dois temas, componentes e as telas feitas com eles

Fundações

Criei cores, tipografia, ícones, espaçamentos, sombras, grids e radius, cada um em uma página própria do arquivo.

A página de tipografia: a Outfit com seus quatro pesos, de Regular 400 a Bold 700, ao lado de onze tamanhos, do Display 2xl (72px sobre 90px) ao Text xs (12px sobre 18px).
Três escalas lado a lado: espaçamentos de 2px a 32px com base de 4px, raios do None (0px) ao Full (999px), passando por MD, LG e 2XL, e duas sombras com o anel de foco.
A página de cores: a escala da marca, do Brand 500 (#fd3363) ao tom mais claro, ao lado do Orange 400, oito neutros frios do Gray 900 ao Surface e as quatro cores de status (sucesso, alerta, erro e informação), cada uma com seu código hexadecimal.
Cores de status na prática: um modal de confirmação Ban Affiliate com o botão Confirm na cor da marca, ao lado de cinco datas selecionadas, marcadas com barras nas cores principal, sucesso, alerta, perigo e informação.

Tipografia

Outfit em onze tamanhos e quatro pesos, do Display 2xl (72px) ao Text xs (12px), cada um com sua altura de linha.

Espaço, forma e profundidade

Uma base de 4px para todos os espaçamentos, border radius do None ao Full e duas sombras suaves com um anel de foco para dar profundidade.

Cores

Uma cor de marca sobre uma base de neutros frios, e quatro cores de status, cada uma com um tom de fundo correspondente.

Cores de status

A mesma paleta de status aparece nos modais, nas datas e nos badges de tendência das métricas.

Um conjunto de variáveis, dois temas

Transformei todas as cores em variáveis, então o tema claro e o escuro são dois modos do mesmo conjunto.

A tela é desenhada uma vez, e as variáveis decidem em qual tema ela aparece. Cada variável tem o nome da sua função, e não da cor (Title Color, Border Secondary, Background Modal), e fica agrupada por onde é usada, então uma alteração chega a todos os lugares onde aquela família aparece.

O painel de variáveis do Figma: 146 variáveis agrupadas por onde são usadas, cada linha ligando um nome semântico, como Title Color ou Border Secondary, a um token de cor na coluna Light e a outro na coluna Dark.
146 variáveis, cada uma com o nome de uma função, não de uma cor, e cada uma resolvida duas vezes.
A tela de solicitações nos dois temas ao mesmo tempo: o claro à esquerda e o escuro à direita, separados por um controle que dá para arrastar. Claro Escuro
Arraste o controle. Uma tela, dois temas: só a paleta muda.

Componentes

Desenhei os componentes pensando também nos casos futuros do produto, e não só nas telas que já existiam.

Tudo era 100% responsivo, e especifiquei interações como drag and drop no próprio componente, em vez de deixar para os devs interpretarem.

A página de checkboxes e radio buttons: cada controle nos estados padrão, hover, foco e desabilitado, em dois tamanhos.
A página de botões: botões preenchidos e com contorno em três tamanhos, com ícone à esquerda, à direita ou sem ícone, cada um nos estados padrão, hover, foco e desabilitado.
A página de badges: um badge para cada família de cor da paleta, em três tamanhos, com ícone à esquerda, à direita ou sem ícone.
A página de alertas: mensagens de sucesso, alerta, erro e dica, cada uma com e sem o link Learn more.

Estados

Checkboxes e radio buttons nos estados padrão, hover, foco e desabilitado, nos dois tamanhos. O foco faz parte do componente, não fica para depois.

Botões

Preenchidos e com contorno, em três tamanhos, com ou sem ícone, e em todos os estados.

Badges

Um badge para cada família de cor, em três tamanhos. Quem faz o trabalho é a escala de cor, então o badge em si nunca muda.

Alertas

Sucesso, alerta, erro e dica. Além da cor, um ícone e uma palavra indicam o estado, então a mensagem é entendida mesmo por quem não diferencia verde de vermelho.

O sistema na prática

Montei as telas do produto com a biblioteca, em vez de criá-las independentemente.

Cards de indicadores, toggles, selects, tags, botões de aprovar e recusar: tudo é componente da biblioteca. Os indicadores verdes de variação são o badge de sucesso, então batem com todos os outros badges do produto.

O dashboard de afiliados: menu lateral, um toggle Earnings e Performance, uma linha de filtros, quatro cards com total de vendas, ganhos, cliques e ganho por clique, e um gráfico de ganhos de doze meses com tooltip.
O dashboard de afiliados. Cards de indicadores, toggles, selects e badges, todos direto da biblioteca.
A tela de solicitações: pedidos de afiliados em cards, cada um com avatar, tag da plataforma, detalhes de comissão e audiência, a mensagem do candidato e os botões de aprovar e recusar.
Solicitações. Os mesmos componentes, com uma função completamente diferente.
04Resultados

Foi para produção, e influenciou a próxima etapa do produto para o qual foi criado

O sistema foi aprovado, implementado e ficou no ar por vários meses. Quando a empresa pivotou, várias das ideias foram direto para o design system do novo produto. Os devs disseram que a biblioteca foi o que mais ajudou: criar uma tela nova virou montar peças, e não reinventar a roda. O cliente disse que a interface ficou tão limpa que nada disputava atenção com os dados, e que a diferença foi da água para o vinho.

Sua empresa está pronta para decolar?

Estou disponível para vagas full-time e procuro um time onde eu possa somar dez anos de experiência em product design e gerar impacto de verdade. Se vocês estão contratando, vou adorar saber o que estão construindo.