Projeto · 2025–2026
CRM Omnichannel de Captação
CRM omnichannel em produção numa instituição de ensino superior — do primeiro contato no WhatsApp à matrícula confirmada no sistema acadêmico, com bot, chamadas de voz, e-mail e painéis executivos.
Um CRM inteiro — canais, operação e BI — construído com uma disciplina simples: todo número na tela precisa ser verdadeiro, explicável e bater com a fonte oficial.
É o sistema que as equipes de captação de uma instituição de ensino superior usam todos os dias: leads chegam do site, dos anúncios e do WhatsApp; um bot qualifica e abre o atendimento; uma fila distribui para operadores num kanban — e o funil segue até a matrícula confirmada no sistema acadêmico. Comecei a construí-lo no fim de 2025 e sou o desenvolvedor principal.
O WhatsApp é o coração: bot de qualificação, campanhas em massa e chamadas de voz atendidas direto no navegador (WebRTC contra a API oficial). Ao redor dele, campanhas e caixa de entrada de e-mail, formulários públicos e perfis de acesso para operador, supervisor, diretor e gestão.
A camada de dados é onde o projeto ganha caráter: integração com o sistema acadêmico (Oracle) conciliada no centavo contra o extrato oficial, custos de mídia Meta e Google importados diariamente, atribuição first-touch parametrizável e um painel executivo servido só por fatos materializados — nenhuma consulta operacional no caminho do usuário.
Roda em Docker Swarm com deploy contínuo e observabilidade OpenTelemetry ponta a ponta. Foi essa telemetria que guiou os capítulos mais difíceis: incidentes de produção diagnosticados por trace, queries reescritas com prova de antes/depois e o saneamento da base em escala — varredura automática de atendimentos esquecidos e um motor de deduplicação que mapeou 9,4 mil duplicados entre 128 mil clientes.
Em números
- 180k+
- Leads geridos
- 2,4M
- Mensagens WhatsApp
- 128k
- Clientes na base
- 700+
- Commits em 2026
- 100×
- Incidente revertido
Decisões de engenharia
- 01
Fatos materializados no painel executivo
O painel da gestão nunca consulta as coleções operacionais: um worker constrói fatos agregados em horários fixos e o endpoint lê somente deles. A agregação pesada que derrubava o banco saiu do caminho do usuário, e um backfill idempotente reconstrói a vida inteira do CRM quando preciso.
- 02
Uma régua única para todo número
O mesmo recorte tem que dar o mesmo número em qualquer tela — soma de card ≡ base do funil ≡ KPI, travado por teste. Essa disciplina trocou uma média enganosa pela mediana (validada sobre 149 mil aceites: 4,6 minutos, não “19 dias”) e eliminou conversões impossíveis de 130%+.
- 03
Atribuição de marketing honesta
O bot de atendimento “roubava” a origem dos leads pagos e o canal aparecia 7× menor do que era. A atribuição virou first-touch parametrizável, com recálculo idempotente que corrigiu dezenas de milhares de clientes — e as campanhas com CPL/CAC calculável foram de 1 para 54.
- 04
Performance guiada por telemetria
Baseline medido (46 mil queries em 3 horas, média de 5,5 ms) e cada incidente diagnosticado por trace: a query que varria 176 mil documentos, o cache stampede que degradou o banco 100×. Os fixes — single-flight, limite de tempo em 31 pontos, 4 consultas fundidas em 1 — devolveram a latência ao baseline, com prova de antes e depois.
- 05
Voz no navegador com áudio de verdade
Chamadas de WhatsApp atendidas no navegador via WebRTC. A qualidade exigiu engenharia de sinal: resampler FIR de 127 taps, jitter buffer, instrumentação forense por chamada — até achar um keepalive fantasma que injetava silêncio a cada 100 ms. Resultado: ~90% menos estalos e contadores de defeito de 46 para 0.
- 06
Integração acadêmica conciliada no centavo
A sincronização financeira com o sistema acadêmico (Oracle) bate 1:1 com o extrato oficial: 71 tipos de desconto cobertos automaticamente, financiamento estudantil separado por regra — e uma auditoria que encontrou uma divergência de seis dígitos escondida atrás de um DISTINCT.
Arquitetura
Canais
WhatsApp · E-mail · Voz · Web
Bot, campanhas, caixa de entrada e chamadas WebRTC.
API + Workers
Express & jobs
REST + Socket.IO; sincronizações e cargas em background.
Dados
MongoDB + Oracle
Operação no Mongo; matrículas e financeiro conciliados no Oracle.
Fatos & BI
Painéis executivos
Fatos materializados; zero consulta operacional no request.
Stack