Em produção desde dez. de 2025
CRM sob medida para uma operação de +120 mil clientes
Sistema de gestão construído do zero: funil de entrada, atendimento, equipe e economia em 10 áreas de decisão, com comparação de período e acesso por permissão.
- Período
- dez. de 2025 — em andamento
- Papel
- Solo
- +120 mil
- cadastros no funil
- 10
- áreas do painel
- 228 dias
- em produção, sem parar
#Contexto
Este é um CRM sob medida — o problema é o mesmo de qualquer empresa que cresceu rápido, só que o cliente aqui é jogador. Um servidor de GTA:RP com milhares de jogadores é uma operação: tem entrada de cliente, suporte, equipe, economia interna e concorrência. E gera dado o tempo todo — cadastros, triagem, personagens, atendimentos, punições, movimentação financeira. O problema é que esse dado nasce dentro do sistema do jogo, feito para rodar a partida, não para gerir o negócio. Na prática a gestão decidia no achismo: ninguém respondia "quantos dos que se cadastraram esse mês chegaram a jogar de fato?" sem depender de alguém técnico parar o que estava fazendo. Construí o painel que transforma esse dado bruto numa ferramenta que a equipe inteira usa sozinha.
#O que o produto faz
O funil de entrada é a tela principal — e a mais valiosa. Entrar no servidor exige uma sequência de passos, do primeiro contato até a primeira partida de verdade, e o painel mostra quantas pessoas sobrevivem a cada um deles. É o que revela onde o dinheiro de divulgação está sendo perdido: não adianta trazer mil pessoas por mês se a maioria desiste antes de jogar. Com o funil na tela, a gestão para de discutir "precisamos divulgar mais" e passa a discutir qual etapa específica está barrando gente.
Oito áreas de análise, cada uma respondendo a uma pergunta que a gestão fazia sem ter resposta:
- Visão geral — o funil de entrada, o volume de suporte por tipo de problema, punições aplicadas e assinaturas ativas. A tela de abertura de reunião.
- Aquisição — de onde vêm os jogadores? Ranking dos canais de divulgação por entradas no período, com histórico diário. Mostra qual investimento em mídia está de fato trazendo gente, e qual só está gastando.
- Retenção — eles ficam? Quantas pessoas estavam online a cada dia e quantas passaram dos marcos de tempo jogado. Separa o pico de um evento pontual do crescimento que se sustenta.
- Jogadores — a ficha individual, consultada em tempo real com busca. É a tela que o suporte abre quando alguém reclama, para ver a situação daquela pessoa sem precisar pedir ajuda a um técnico.
- Organizações — o tamanho de cada grupo dentro do jogo e o atendimento dos serviços públicos na razão de chamados feitos versus atendidos. Expõe qual área está sem gente suficiente para dar conta da demanda.
- Equipe — produtividade por membro: atendimentos concluídos, análises feitas e horas dedicadas, separando o tempo trabalhado do tempo em que a mesma pessoa está jogando por lazer. Acabou a avaliação por impressão.
- Economia — quanto dinheiro existe circulando no jogo e a média por jogador, filtrada por quem realmente jogou nos últimos dias. A distinção importa: contar saldo parado em conta abandonada infla o número e esconde inflação real.
- Veículos — a composição da frota por modelo, para dimensionar o que está em excesso e o que falta.
Duas áreas de administração, para o painel não depender de mim: a própria gestão cria usuários da equipe e ajusta o que cada um enxerga, e cadastra os servidores monitorados, com a contagem de jogadores online agora, ontem e na média.
Todo número vem com comparação. Nenhuma métrica aparece sozinha: ao lado dela está a variação contra o mesmo intervalo anterior, para cima ou para baixo. Além dos atalhos de hoje, ontem, 7 e 30 dias, dá para escolher um intervalo de datas específico — a semana de um evento, o mês de uma campanha, o período antes e depois de uma mudança grande — e ver exatamente o que aquilo moveu.
Histórico preservado entre temporadas. O servidor zera a base quando começa uma temporada nova. O painel isola a temporada anterior em vez de descartá-la, então a gestão continua conseguindo comparar o desempenho de agora com o do ciclo passado — que é justamente o dado que some quando não existe uma ferramenta guardando.
#Arquitetura
#Decisões técnicas
O sistema do jogo já tem tudo isso. Por que precisei de um painel à parte?
Porque o sistema do jogo responde 'como está agora', nunca 'como estava'. Quando um jogador é aprovado, o cadastro dele é atualizado e o número anterior deixa de existir. Na prática: ninguém consegue dizer se a última atualização do servidor melhorou ou piorou a entrada de jogadores, porque não sobrou registro de como estava antes. O painel guarda uma fotografia do negócio por dia. É o que permite responder 'cresceu ou caiu em relação ao mês passado' — e é essa comparação, não o número solto, que sustenta decisão de investimento em divulgação, evento ou equipe.
Por que não bastava dar acesso ao banco para quem sabe consultar?
Era assim que funcionava antes, e custava caro em três frentes. Segurança: quem recebe acesso ao banco recebe junto o cadastro completo de todo jogador — e-mail, telefone, documento. Nenhum coordenador precisa disso para saber quantas pessoas entraram na semana. Risco de operação: cada consulta pesada disputa recurso com o servidor do jogo rodando ao vivo, e um relatório mal feito no horário de pico afeta quem está jogando. E confiabilidade do número: cada pessoa calculava do seu jeito, então duas áreas chegavam em reunião com valores diferentes para a mesma pergunta, e a reunião virava discussão sobre qual planilha estava certa. O painel resolve os três de uma vez — a regra de cálculo é única, o trabalho pesado roda uma vez por dia fora do horário crítico, e cada pessoa vê só a sua parte.
O painel mostra dado de ontem ou de agora?
Os dois, e a escolha é por tipo de pergunta. Tendência — funil de entrada, retenção, aquisição — vem da fotografia diária, porque o que importa ali é a comparação com o período anterior. Já consulta pontual — a ficha de um jogador específico, o saldo da economia, quantas pessoas estão online agora — vai direto na fonte, em tempo real, porque quem abre a ficha quer o estado deste minuto, não o de ontem. Cada tela deixa claro qual é o caso: onde há defasagem, o horário da última atualização aparece no topo, e ninguém decide achando que está vendo tempo real.
Como a equipe inteira usa o painel sem que todo mundo veja tudo?
Cada pessoa recebe acesso apenas às áreas do seu trabalho, e a diferença entre consultar e alterar também é separada: dá para liberar alguém que acompanha os cadastros sem poder editá-los. Quem cuida da triagem de novos jogadores não vê a economia; quem analisa aquisição não abre ficha com dado pessoal. O bloqueio não é só o item sumir do menu — a proteção está no servidor, então não adianta tentar acessar por fora. Na prática isso é o que permitiu abrir a ferramenta para a equipe toda em vez de deixá-la restrita a duas ou três pessoas de confiança.
E se a coleta de um dia falhar? O painel para?
Não. A coleta é automática e diária, mas máquina cai, rede oscila e um dia pode faltar. Em vez de mostrar erro e travar a análise, o painel compara com o dia mais próximo disponível e avisa na tela: 'comparando com dados de 28 dias atrás'. É uma escolha de produto — para decisão de gestão, um número aproximado e declarado vale muito mais que uma tela em branco. O gestor segue decidindo, sabendo exatamente com o que está comparando.
#Volume de dados
A operação que o painel consolida diariamente:
- +120 mil cadastros no topo do funil de entrada.
- +80 mil personagens criados.
- +50 mil atendimentos de suporte classificados por tipo.
- 7 canais de divulgação rastreados, da listagem pública à indicação de amigo.
- 228 dias de operação contínua desde o início do projeto, sustentando toda comparação e toda tendência do painel.
#Resultado
- Em produção desde dezembro de 2025, com manutenção contínua — o painel atravessou uma virada de temporada do servidor sem perder o histórico anterior.
- A gestão acompanha entrada, divulgação, retenção e economia com número consolidado e comparável, sem depender de alguém técnico para gerar relatório.
- A ferramenta é usada pela equipe inteira, e não por duas ou três pessoas: cada função enxerga a sua parte, e o dado pessoal do jogador fica restrito a quem precisa dele para atender.
Stack
- Next.js
- TypeScript
- React
- MySQL
- better-auth
- Recharts
- Tailwind CSS