Jamisson Pinho Lima
05 SquadGoals 2025

Progresso individual, sem ranking público.

produto · migração documentada · demo navegável
O que é
Plataforma de gamificação individual para operações de atendimento
Papel
Produto, arquitetura, frontend, backend e migração
Stack
React 19 · Vite · TypeScript · Prisma · Vitest · Docker · nginx
Formato
Página de case com demo navegável de dados fictícios

O que foi feito, por que assim, o que resolveu

§ 01 a 03
§ 01

O que foi feito

Plataforma que transforma indicadores operacionais e de qualidade em progresso pessoal, missões e recompensas. São duas superfícies. O painel do agente reúne saldo, progresso, missões, loja e histórico. O painel administrativo reúne missões, recompensas, regras, aprovações, budget e importação de KPI.

Integra-se ao Portal Core por SSO de embed, o mesmo token single-use descrito na folha anterior.

§ 02

Por que foi feito assim

Descartado
Ranking público entre colegas. É o desenho padrão de gamificação e o mais fácil de vender numa reunião, mas expõe quem está atrás e transforma indicador operacional em exposição pessoal.
Escolhido
Progresso individual, sem leaderboard. O objetivo é senso de evolução em vez de competição exposta, e isso muda o desenho de tela inteiro, porque não existe onde colocar o pódio.

Essa é decisão de produto, não técnica, e é a que mais define o resultado. A segunda vem junto: controle de budget como cidadão de primeira classe. Recompensa custa dinheiro real, então o teto vive dentro do produto, e não numa planilha paralela que ninguém reconcilia.

A migração de Next.js 15 para React 19 com Vite foi documentada antes de ser executada, em três documentos: escopo, arquitetura alvo e plano. O inventário listou 17 rotas de UI, 14 route handlers embutidos no runtime do Next e cada acoplamento (next/font, next/image, next/navigation, middleware.ts, NextResponse) com o substituto correspondente.

O princípio declarado no plano: manter o frontend como cliente HTTP do backend, não como host de regras críticas. É o que torna a migração possível sem reescrever o produto.

§ 03

O que resolveu

KPIs de seis áreas operacionais mapeados e convertidos em progresso individual, com o custo das recompensas sob teto no próprio produto.

A saída do runtime Node para artefato estático: a interface passa a ser servida sem processo, e a lógica crítica volta para o backend, onde é testável. O churn de componentes ficou mínimo, porque a migração reaproveita components/* e lib/* e troca só a camada de plataforma.

A suíte tem 103 testes: 100 passam e 3 falham. São dois contratos que esperam 190 pontos e recebem 90, e um que compara zendeskDomain nulo com string vazia. As três são anteriores à sanitização, confirmado rodando a suíte no commit original. Mesma regra da folha anterior: número medido, não arredondado.

As peças

ainda a produzir
reservadoexige subir o stack local e semear dados
Painel do agente, com captura pendentefig. 01
reservadoexige subir o stack local e semear dados
Painel administrativo, com captura pendentefig. 02

Pendente nesta folha: gerar o mock da demo navegável e capturar os dois painéis. As três falhas de suíte também estão em aberto.

356
commits no histórico
6
áreas com KPI mapeado
17
rotas inventariadas na migração
100/103
testes do backend passando