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.

Ilustração: funil de captação com canais (WhatsApp, e-mail, voz) convergindo até a matrícula, tema escuro com âmbar.

É 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

  1. 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.

  2. 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%+.

  3. 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.

  4. 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.

  5. 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.

  6. 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

Node.jsExpressReactMongoDBSocket.IOWebRTCOracleOpenTelemetryDocker Swarm