Pular para o conteúdo
Marcos Bricches

Estudo de caso 04 · Painel de operações

Noonday

Software de operações para instaladoras de energia solar: obras, equipes e a geração de cada sistema instalado numa tela só.

Papel
Produto, marca, design e front-end
Data
Novembro de 2026
Stack
React, TypeScript, TanStack Query e Table, Tailwind CSS, Radix, MSW, Cloudflare Pages
Noonday, primeira tela da demo ao vivo

O problema

São 13h05 de uma terça de novembro, época de chuva em Minas Gerais. Ana cuida das operações da Serra Solar, uma instaladora com 120 obras abertas, 8 equipes e 612 sistemas já nos telhados. Ela precisa decidir o que resolver primeiro, e a resposta pode vir de três lugares: uma obra parada esperando a concessionária, uma equipe atrasada ou um sistema que caiu de manhã e não tem ninguém escalado.

O Noonday junta os três numa fila só, o mais urgente primeiro, com a ação ao lado de cada linha. Ele responde às vagas que pedem um produto B2B com muitos dados: tabelas com filtros e paginação, um gráfico que funciona com mouse, toque e teclado, e ações que mostram o resultado na hora, podem ser desfeitas e voltam atrás quando o servidor recusa.

Veja funcionando

Três coisas para testar:

  1. 01

    Na Overview, a primeira linha de "Needs you" é um sistema fora do ar sem equipe. Clique em Assign Camila e depois em Undo.

  2. 02

    Em Generation, troque para 30 days e ande pelas barras com as setas do teclado. Os dias abaixo de 75% do esperado têm uma marca vermelha.

  3. 03

    Abra o menu do usuário, Demo data, e escolha Errors, depois New workspace, para ver os estados de falha e vazio.

Como foi feito

Especificação

O produto, as três ações, o tamanho dos dados e um nome conferido livre na web e no endereço.

Marca

Três direções lado a lado, uma mantida.

Protótipo

Quatro layouts da Overview testados em código, com gráfico funcionando, ícones e ilustrações. Um virou a Overview, e outros dois viraram o quadro de Jobs e a visão do dia na Schedule.

Dados

Um gerador com semente fixa para o workspace inteiro, então toda visita mostra o mesmo dia.

Construção

A stack de produção com uma API simulada, em doze etapas, primeiro a base e depois as quatro telas.

Verificação

Cada estado em 1440 e 390 px com checagem de acessibilidade, e depois uma revisão de código cujos achados foram corrigidos antes de publicar.

Escala

6

telas, mais uma página de não encontrado e uma página de erro.

94

estados verificados em duas larguras, 188 renderizações, cada uma com checagem de acessibilidade.

3

direções de marca e 4 layouts da Overview em 4 rodadas de decisão, e depois 9 correções vindas da revisão de código.

120

obras abertas, 8 equipes e 612 sistemas saídos de um gerador com semente fixa, servidos por 12 endpoints de API simulados com 5 cenários de demonstração.

28

ícones e 4 ilustrações desenhados para o produto, e um gráfico feito sem biblioteca de gráficos.

278

testes unitários e 217 testes no navegador.

37 min

do ticket à especificação aprovada, e depois 7 h 57 min de construção, numa noite e numa manhã.

O que deu errado e o que eu mudei

All clear é o dia tranquilo da demo: nada na fila, o sol a pino, "Nothing needs you right now". Quando conferi todos os estados, essa tela ainda mostrava "8 late" em vermelho em Open jobs, ao lado da frase dizendo que nada precisava de você.

A fila e a contagem estavam certas, cada uma pela sua regra. A fila só lista uma obra atrasada depois de cinco dias de tolerância, e a contagem mostra toda obra que passou do prazo da etapa. Então o dia tranquilo tinha oito obras atrasadas, mas ainda não urgentes.

As duas regras estão certas num dia normal, então mantive as duas e mudei os dados do dia tranquilo. No All clear, toda obra atrasada agora passou para a etapa seguinte quatro dias atrás, com a mudança registrada no histórico como qualquer outra, e Open jobs mostra "120 · 27 in install" sem vermelho. Um teste falha se o dia tranquilo voltar a ter uma obra atrasada.

Limites e próximos passos

  • Os dados são simulados no navegador. Não há contas, nada é salvo, e as três ações voltam ao início quando a página recarrega.
  • A demo roda num relógio fixo, terça, 3 de novembro de 2026, às 13h05, então os números se leem iguais em toda visita.
  • Só três ações funcionam. Não dá para criar nem editar obras, equipes ou sistemas, e a equipe é escolhida numa lista, sem arrastar e soltar.
  • O app está só em inglês.

Próximo estudo de caso · 01

Racecraft

um plano de treino rumo a uma prova