O desafio da manutenção e melhoria de um Design System

Como foi a instigação, processos e acima de tudo a empatia com o desenvolvedor para um bom handoff.

Vem comigo!

O desafio

Ao ingressar na Bild, recebi a missão de realizar a manutenção de um Design System já existente, o Asteroid, que além de desatualizado, possuia estes problemas:

  • Organização básica(dificuldade para encontrar um simples componente).

  • Explicações claras(fazer com que o colega saiba o porque, quando e como usar aquele compente ou até mesmo uma cor).

  • Falta de documentação para o time de desenvolvimento.

A questão da documentação para os devs, empatia e handoff será um dos principais assuntos desse case, continue comigo que vou te explicar o motivo.

Organizando a casa

O básico e simples sempre funciona, portanto, iniciei minha aventura organizando o Design System da seguinte forma:

  • Uma página para os componentes

  • Uma página para os fundamentos

Por que separar?
Porque assim podemos facilitar na busca pelo que o usuário em questão(que pode ser um colega ou um desenvolvedor) deseja, se ele pretende buscar por cores, espaçamentos e tipografia basta acessar a página de fundamentos, caso o contrário, basta buscar pelos compontentes em sua devida página.

Dissecando cada página

A importânica da padronização, simplicidade e objetividade.

Componentes

Essa página é onde os blocos reutilizáveis de interface são construídos a partir dos fundamentos, nela você encontra váriantes, explicações e casos de uso, organizados por ordem alfabética.

Fundamentos

Essa página serve como a base conceitual e visual do Design System. É onde ficam definidos os elementos mais primários que orientam toda a identidade do produto e garantem consistência.

Os Fundamentos

Aqui é onde enocntraremos cores, tipografia, espaçamentos, grids e muito mais.

Cores

Além do nosso velho conhecido hexadecimal, também deixamos documentado em RGB e HSL, além do mais importante: Token para conexão com o código para o desenvolvedor.

Tipografia

Nesse caso, a separamos por sua classificação, conténdo a font-family, tamanho, o line height, letter spacing, peso e é claro o token.

Para o espaçamento, a explicação e os casos de uso são extremamente importantes, deixando claro quando usamos um tamanho ou outro, por exemplo o espaço entre itens dentro de uma mesma seção.

Espaçamento

Os componentes

Muito além de blocos para a interface, documentamos de forma ampla para explicar os casos de uso e suas variações.

"Dissecando" o componente

No exemplo da imagem acima, podemos ver que deixamos de forma completa e documentada toda a questão de especifidades do componente, as cores utilizadas, espaçamento interno, fonte, etc.

Variantes

As variantes, como o próprio nome diz, são os vários "tipos" desse componente, lembrando: de nada adianta separar as variações e não explicas quando e como se utiliza cada uma delas, por isso temos o próximo tópico abaixo.

Os exemplos de uso e prototipação servem justamente para mostrar quando usamos cada variação, qual o comportamento esperado do componente e como ele se portaria em uma página UI real.

Exemplo de uso e prototipação

Notion para complementar a documentação

O notion foi extremamente importante, principalmente na documentação dos componentes, nos auxiliou a responder diversas perguntas dos desenvolvedores, questionamentos que eram em sua grande maioria devido aos casos de uso, como por exemplo:

Por que nesse caso devo utilizar o botão secundário e não o primário?
Explicamos não somente com palavras, mas com exemplos e casos reais de UI do produto.

Sua organização ocorre da mesma forma que o Figma, dividindo por fundamentos e componentes, cada um com sua pasta e seus itens internos, mantendo o mesmo padrão para não fazer o usuário pensar demais.

Ok, mas e se fosse a minha empresa o que eu ganharia com isso?

No fundo, um Design System organizado é sobre futuro. Ele garante que, à medida que a empresa cresce, a qualidade não se dilui, que a marca não se perde em interfaces desconexas e que os times não se afoguem em complexidade. É sobre dar poder às pessoas para que criem mais rápido, com mais qualidade e menos esforço.

Esse entendimento é vital: quando o desenvolvedor compreende com profundidade a lógica por trás dos fundamentos e a aplicação nos componentes, o trabalho deixa de ser apenas "codar telas" e passa a ser construir experiências consistentes e escaláveis. É menos retrabalho, menos fricção entre design e código, mais produtividade e mais confiança no resultado final.

Por isso, ter um Design System bem estruturado e documentado não é um luxo, é uma necessidade estratégica. Ele é a ponte que conecta design e desenvolvimento, e sem ele, cada novo produto ou funcionalidade será mais difícil, mais caro e mais lento de entregar.
Se a empresa quer escalar com consistência, eficiência e confiança, precisa desse pilar. Precisa investir nele com seriedade. Porque no fim, o que realmente importa não é apenas construir interfaces bonitas, mas criar produtos que funcionam, encantam e crescem junto com o negócio e só um Design System organizado torna isso possível.