Design System · B2B SaaS · 2025

Forge Design System

Uma linguagem compartilhada para times que entregam em velocidade. Como construímos o sistema de componentes do Forge — e por que a decisão mais importante foi antes do primeiro pixel.

68
Componentes documentados
−60%
Tempo de handoff por componente
12
Times adotando o sistema
−71%
Inconsistências em QA

Escala sem sistema é caos com logo bonito

O Forge era um app de gestão de projetos com 4 times de produto e nenhuma linguagem compartilhada. O resultado aparecia todo sprint.

Cada time reinventava a roda. Um botão primário tinha 7 variações em produção. Inputs com 4 alturas diferentes. Cards com 3 estilos de sombra. Nada estava errado individualmente — o problema era sistêmico.

O custo não era visual. Era de velocidade. Designers gastavam 40% do tempo replicando componentes em vez de resolver problemas. Devs questionavam qual versão implementar. QA reportava inconsistências que ninguém sabia de onde vieram.

A solução não era "deixar bonito." Era criar uma única fonte de verdade que qualquer time pudesse usar, estender e confiar.

Pesquisa interna — sprint audit

12 variações de button primário encontradas em produção antes do sistema

40% do tempo de design gasto replicando componentes existentes

3.1h tempo médio de handoff por componente novo

Impacto em QA

68% dos bugs visuais reportados eram inconsistências de componentes

2–3 ciclos extras de revisão por entrega com inconsistência

Tudo começa antes do componente

Tokens são o contrato entre design e código. Antes de construir qualquer componente, definimos os valores primitivos que governam toda decisão visual.

Escala de cor — Primary (Indigo)
50
100
200
300
400
500
600
700
800
900
Semantic — Papéis funcionais
Primary
oklch(52% .20 265)
Success
oklch(50% .18 148)
Danger
oklch(55% .22 25)
Warning
oklch(65% .18 75)
Escala tipográfica — Geist Sans
32px / 700
Display
Forge
20px / 600
Heading
Redesenhar onboarding
15px / 400
Body
Componentes construídos sobre tokens primitivos.
12px / 500
Label
STATUS · PRIORIDADE
13px / 400
Mono
--ds-primary: oklch(52% .20 265)
Espaçamento (base 4px)
4
8
16
24
32
48
64
Border radius
sm 4
md 8
lg 12
pill

Primitivos que compõem tudo

Cada componente documenta todos os estados. À esquerda, os estados isolados. À direita, o componente em uso real dentro do produto.

01 — Button
Estados
Em contexto — criação de task
02 — Status Badge
Variações de status
Todo In Progress Done Blocked
Em revisão Backlog Em teste
Priority
Critical High Medium Low
Em contexto — coluna kanban
Redesenhar tela de onboarding
In Progress High
Auditoria de acessibilidade — componentes de form
Todo Medium
03 — Input Field
Estados
O título é obrigatório.
Em contexto — filtro de board
04 — Toggle & Checkbox
Estados
Toggle
Notificações ativas
Modo compacto
Desativado
Checkbox
Concluído
Pendente
Desativado
Em contexto — configurações de projeto
Notificações do projeto
Novas tasks atribuídas a mim
Receba por email e push
Comentários em tasks
Menções e respostas
Relatórios semanais
Resumo toda segunda às 9h
05 — Avatar & Tag
Variações
Avatar
JS
AM
PC
LR
JS
AM
PC
+2
Tag / Chip
Design Sprint 12 Frontend Prioritário
Em contexto — membros do projeto
Equipe do projeto
JS
João Silva
Product Designer
Admin
AM
Ana Melo
Frontend Engineer
Membro
PC
Pedro Costa
Backend Engineer
Membro

Primitivos em combinação

Componentes compostos são construídos inteiramente com atômicos. A consistência emerge do sistema, não de cada decisão individual.

06 — Alert / Banner
Sprint 12 iniciado
O sprint começa hoje e vai até 30 de maio. 14 tasks no backlog.
Deploy realizado com sucesso
Versão 2.4.1 publicada em produção às 14:32.
07 — Modal
Excluir projeto

Tem certeza que deseja excluir o projeto Forge v2? Esta ação é permanente e não pode ser desfeita. Todas as 47 tasks e histórico serão removidos.

08 — Data Table
TaskResponsávelStatusPrioridadePrazo
Redesenhar tela de onboarding
JS
João S.
Done High 15 Mai
Auditoria de acessibilidade
AM
Ana M.
In Progress Medium 22 Mai
Implementar design tokens no codebase
PC
Pedro C.
Blocked Critical 28 Mai

O sistema em uso real

Telas completas construídas exclusivamente com componentes Forge. Nenhuma decisão visual fora do sistema.

Board View — Kanban
Sprint 12 — Design System
Todo 3
Documentar tokens de cor no Notion
TodoMed
Criar variantes dark mode dos tokens
TodoHigh
Auditoria de ícones inconsistentes
TodoLow
In Progress 2
Redesenhar componente de input com novos tokens
In ProgressHigh
Escrever guia de contribuição para o sistema
In ProgressMed
Done 5
Definir paleta de cor com OKLCH
Done
Escolher tipografia do sistema
Done
Criar escala de espaçamento base
Done
Task Detail — Sidebar
Redesenhar componente de input com novos tokens

O componente de input atual usa valores hardcoded que não refletem os tokens definidos. É necessário migrar para variáveis CSS com todos os estados: default, focus, error e disabled. Incluir variações com label, helper text e ícone interno.

Bloqueador resolvido: tokens de cor foram aprovados na revisão de ontem.
Mapear todos os estados visuais
Implementar com tokens CSS
Testar contraste WCAG AA
Documentar no Storybook
StatusIn Progress
PrioridadeHigh
Responsável
JS
João S.
Prazo20 Mai 2025
ProjetoForge v2
Design System Tokens Sprint 12
Empty State
Nenhuma task neste sprint
Crie a primeira task do sprint ou mova cards do backlog para começar.

O sistema prova seu valor em métricas

Medidos em 3 meses pós-adoção, comparando com o trimestre anterior ao sistema.

Handoff
3h → 1.2h
Tempo médio de handoff por componente novo (↓60%)
Qualidade
↓71%
Inconsistências visuais reportadas em QA pós-implementação
Velocidade
3× mais rápido
Velocidade de prototipação em flows novos usando componentes
Adoção
12 times
Usando o Forge nos primeiros 2 meses após lançamento interno

Principal aprendizado: O maior ganho não foi visual. Foi de confiança. Quando o time sabe que pode referenciar o sistema em vez de reinventar, as conversas mudam de "qual versão usar?" para "o que estamos tentando resolver?". Sistemas liberam espaço cognitivo para o que importa.

Quer conversar sobre sistemas de design?

Posso detalhar o processo de token architecture, como conduzimos a adoção pelos times, ou a estratégia de documentação viva.