01. Visão Geral & Contexto
Antes desta iniciativa, as equipes de produto e desenvolvimento enfrentavam grande fragmentação visual em suas aplicações. Designers passavam horas recriando estados de botões e desenvolvedores consumiam 30% do tempo de desenvolvimento resolvendo inconsistências de estilos.
O objetivo foi projetar um Design System unificado, acessível e parametrizável que conectasse diretamente as variáveis do Figma ao código em produção.
02. O Problema & Pesquisa
Através de entrevistas com designers, engenheiros e analistas de QA, identificamos os principais pontos de fricção:
- Ausência de Fonte Única de Verdade: As variáveis visuais eram definidas de forma estática em múltiplos arquivos CSS isolados.
- Falhas de Acessibilidade: Cerca de 40% dos elementos interativos não cumpriam com os contrastes exigidos pelas normas WCAG 2.1 AA.
- Handoff Lento: Desenvolvedores precisavam medir manualmente cada espaçamento no Figma.
Filosofia do Projeto: Um sistema de design não é apenas uma biblioteca de componentes; é um linguagem compartilhada entre design e engenharia que escala junto com o produto.
03. Arquitetura de Design Tokens
Implementamos um modelo de três níveis de abstração para desacoplar as decisões visuais de sua implementação final:
- Global Primitives: Valores puros como
colors.blue.500 (#0047FF)ouspace.4 (16px). - Semantic Tokens: Mapeamentos contextuais como
color.link,color.bg.surfaceecolor.text.muted. - Component Tokens: Variáveis aplicadas a componentes específicos como
button.primary.bg.hover.
Hierarquia de Tokens
| Camada do Token | Exemplo de Token | Valor (Light) | Valor (Dark) |
|---|---|---|---|
| Primitive | blue-500 |
#0047FF |
#0047FF |
| Semantic | color.link |
#0047FF |
#ff7d4d |
| Component | button.bg |
var(--color-link) |
var(--color-link) |
04. Biblioteca de Componentes & Sandbox
Criamos e codificamos mais de 45 componentes reutilizáveis utilizando padrões de acessibilidade WAI-ARIA:
- Botões & Ações: Estilo brutalista tátil com efeitos de sombra ao passar o cursor.
- Formulários Acessíveis: Inputs, seletores e checkboxes otimizados para leitores de tela.
- Navegação & Modais: Menus e diálogos flutuantes equipados com retenção de foco para navegação por teclado.
// Exemplo de Mapeamento de Tokens Semânticos
export const themeTokens = {
light: {
bgPrimary: '#ffffff',
textPrimary: '#1a1a1a',
accent: '#0047FF',
},
dark: {
bgPrimary: '#101010',
textPrimary: '#f0f0f0',
accent: '#ff7d4d',
}
};
05. Métricas e Impacto
Após 6 meses do lançamento do sistema de design, obtivemos melhorias massivas nas métricas:
- 📉 -45% Redução de Bugs de UI: Queda drástica de problemas visuais reportados em QA.
- ⚡ 30% Handoff mais rápido: O tempo de implementação de novas telas foi reduzido drasticamente.
- ♿ 100% Acessibilidade WCAG 2.1 AA: Todos os contrastes e estados interativos foram validados.
06. Aprendizados
Um sistema de design é 20% código e 80% cultura. A chave para a adoção foi manter documentação interativa e canais de feedback contínuos entre design e desenvolvimento.