Case Study — GPB · Sistema financeiro

GPB: o financeiro do grupo, do Access ao celular

O GPB é o sistema financeiro de um grupo empresarial brasileiro e substitui um sistema antigo em MS Access. A equipe de finanças usa todo dia: pagar e receber, conciliação, fluxo de caixa, fechamento do mês e impostos. Fiz a rodada de UX direto no código. O app abaixo é o próprio GPB, em modo demonstração: clique à vontade.

Cliente
GPB, de um grupo empresarial brasileiro
Ano
2026
Meu papel
UX e design engineering, no código React
Situação
Rodada entregue para revisão
Onde
Computador e celular, de 360 a 1440 px
Ver em
Tela cheia
O Início do GPB no computador, carregando o app

É o app de verdade, com dados fictícios gerados no seu navegador: dá para lançar, dar baixa e conciliar. Nada sai daqui, e recarregar volta ao começo.

Os nomes, valores e contas são inventados.

Telas

01 — O problema

Doze abas iguais e nenhuma prioridade

A primeira versão web refez o Access tela por tela: doze abas soltas numa faixa que rolava de lado, uma coluna presa em 672 px até num monitor grande e todo formulário subindo de baixo, também no computador. Nenhuma tela dizia o que precisava de atenção hoje.

Quem usa é gente de finanças, não de tecnologia, que lança e concilia o dia inteiro. Lançamentos abria em "tudo", com milhares de títulos herdados do Access (alguns em aberto desde 2015). A regra da rodada: usabilidade vale mais que firula, e cada mudança se mede em cliques e dúvidas para fazer a tarefa do dia.

PesquisaNº 01
11–23 s

Para abrir Lançamentos, baixando tudo de novo a cada troca de aba. Agora baixa uma vez e as outras telas usam na hora.

Análise de UX do GPB, novembro de 2026

02 — Antes e depois

O mesmo dado, outra leitura

Mesmos dados fictícios nas duas versões. O que muda é a ordem: primeiro o que pede ação, depois o resto.

01 — No computador

O que melhora: A tela inteira trabalhando

O menu virou lateral e agrupado por tarefa: Visão geral, Dia a dia, Fechamento do mês e Configuração. Pagar e receber abre em "Para pagar agora", com o total, os vencidos e os próximos 7 dias antes da lista, e o aviso dos títulos antigos com um botão para revisar um por um.

HeurísticaNº 01

Visibilidade do status

A pessoa vê o que está acontecendo antes de precisar perguntar.

Nielsen Norman Group · 10 Usability Heuristics
Antes
Pagar e receber antes, a 1440 px: abas soltas no topo, uma coluna estreita no meio da tela e a lista de vencidos com os links Baixar e Cancelar
Depois
Pagar e receber depois: menu lateral agrupado, faixa de números com total, vencidos e próximos 7 dias, aviso dos vencidos há mais de 120 dias e a lista com ações em lote

02 — No celular

O que melhora: Pegada de app

As abas que rolavam de lado viraram um menu no ☰: a rotina do dia em cartões, o fechamento e a configuração em lista. Formulários e avisos abrem em folha de baixo ou em tela cheia, nunca num modal espremido.

PesquisaNº 02
44 × 44 pt

É a área mínima de toque recomendada. No GPB, todo alvo no celular tem pelo menos isso.

Apple · Human Interface Guidelines
Antes
Pagar e receber antes, a 390 px: faixa de abas cortada na borda e a mesma coluna do computador
Depois

03 — Decisões

Processos guiados no lugar de telas soltas

Para cada tarefa, a ferramenta certa: assistente para o que tem começo, fim e várias decisões em ordem; checklist para o ciclo que passa por várias telas; triagem para a fila de itens parecidos; e formulário rápido para o que se faz de olho fechado.

Ver a triagem ao vivo

HeurísticaNº 03

Prevenção de erros

Melhor que uma boa mensagem de erro é um desenho que não deixa o erro acontecer.

Nielsen Norman Group · 10 Usability Heuristics
01 — Triagem um por vezPagar e receber
Revisar vencidos antigos: um título por vez, com valor, vencimento há 7 anos e três saídas, Já foi pago, Cancelar e Manter, com atalhos de teclado
Os títulos vencidos há mais de 120 dias saem da lista e entram numa fila: já foi pago, cancelar ou manter. Atalhos P, C e M, e desfazer no aviso.
02 — Painéis lado a ladoPilha de painéis
"Já foi pago" abre a baixa ao lado da triagem, que desliza e continua à vista. A baixa entra como gerencial, na data do vencimento: acerta o título sem criar uma saída no banco.
03 — Guias com o calendário da ReceitaApuração
Assistente Lançar as guias, passo 1 de 3: IRPJ e CSLL marcados com valor e vencimento, e o PIS desmarcado porque já está lançado
A apuração calculava o imposto mas parava aí. O assistente lança as guias com o vencimento de cada uma (PIS/COFINS dia 25, IRPJ/CSLL no último dia útil, ISS dia 10), ajusta o fim de semana e desmarca o que já foi lançado.
04 — Fechar o mêsChecklist
Fechar o mês: 2 de 6 prontos, o próximo passo em destaque e a lista com extratos, vencidos e rendimentos, cada um com o seu estado
Seis passos que se conferem sozinhos: extratos conciliados, vencidos resolvidos, rendimentos, guias, DRE e relatórios. A ordem é sugestão, e cada linha leva à tela certa.

04 — No celular

Um app no bolso, sem rolagem lateral

Uma rodada só de responsivo: modais viraram folhas de baixo ou telas cheias, o ☰ abre a rotina em cartões, e um kit de celular entrou para todas as telas (faixa de números, lista agrupada por dia, barra de ação fixa e o botão +). De 360 a 1440 px, nenhuma das 13 telas rola de lado.

Ver no celular ao vivo

HeurísticaNº 04

Lei de Jakob

As pessoas esperam que o sistema funcione como os aplicativos que já usam no dia a dia.

Nielsen Norman Group · Jakob’s law

Entrega · Design engineering

Desenhado direto no código

Não teve Figma no meio. Li as 13 telas no código, escrevi a análise, e cada decisão foi direto para o React do produto, numa branch, em commits por assunto, com os testes passando.

Para revisar sem tocar em produção, o app ganhou um modo demonstração com dados fictícios em memória. É ele que roda no topo desta página.

  1. 01

    Análise antes da tela

    13telas lidas no código e mapeadas

    Cada tela foi ligada à função do Access que ela substitui, com quem usa, quantos cliques custa a tarefa do dia e os problemas por severidade. A rodada partiu dessa lista, e não de gosto.

  2. 02

    Um kit, não telas soltas

    5peças novas para o celular

    KpiStrip, GroupedList, ParamSummary, BottomActionBar e Fab entraram no kit compartilhado, junto com a folha de baixo, o assistente, a triagem e a pilha de painéis. As telas usam as mesmas peças, e o comportamento é o mesmo em todas.

  3. 03

    Responsivo medido

    0 pxde rolagem lateral, de 360 a 1440 px

    Um script com Playwright passa pelas 13 telas em várias larguras e mede rolagem lateral, letra abaixo de 12 px e alvo abaixo de 44 px. O que aparecia virava tarefa, até a lista zerar.

  4. 04

    Pronto para revisar

    77commits por assunto, numa branch

    Cada mudança tem um commit com o porquê, e as decisões que dependiam do cliente ficaram marcadas no código até serem resolvidas, uma por uma. O merge é uma decisão de quem revisa.

Resultado

O que ficou pronto

  • Menu agrupado por tarefa e um Início que mostra o que precisa de atenção hoje
  • Assistentes para conciliar, lançar as guias, fechar o mês das aplicações, importar planilha e criar empresa
  • Fechar o mês como checklist que se confere sozinho, e a triagem dos vencidos há mais de 120 dias
  • Painéis empilhados lado a lado no computador; folhas de baixo e telas cheias no celular
  • Um kit de celular usado nas 13 telas, sem rolagem lateral de 360 a 1440 px
  • Um modo demonstração com dados fictícios, para revisar sem tocar em produção

Ferramentas

  • React 18
  • TypeScript
  • Vite
  • Tailwind CSS v4
  • Motion
  • Vitest
  • Playwright
  • Agentes de IA

Quer conversar sobre este projeto?

Posso mostrar as decisões e o que está por trás de cada tela.