Disparador.
Automação de campanhas e mensageria — prova de conceito, sem envio real.
As demos são interativas no desktop — no celular, veja a prévia logo abaixo.
Demo navegável com dados fictícios
Problema
Negócios precisam organizar campanhas, contatos, listas e templates de comunicação de forma centralizada.
Solução
Dashboard de campanhas, contatos, listas/segmentos, criador de campanha, templates, inbox fake, QR Code fake de conexão, relatórios e simulador de celular.
Meu papel
Concepção e desenvolvimento da prova de conceito.
Resultado
Apresentado como prova de conceito funcional com dados mockados; deixa claro que não envia mensagens reais.
Stack da demo
Como funciona.
Descrição do produto real (frontend + backend). A demo embutida acima é a versão de demonstração dele, com dados fictícios.
Plataforma multi-tenant de automação de campanhas e mensageria no estilo disparador de WhatsApp. Cobre a conexão de números por QR Code (sessão WhatsApp Web), contatos e listas/segmentos, templates com variáveis, um criador de campanha com controle de ritmo, janelas de pausa e horário de silêncio, agendamento, inbox bidirecional, rastreamento de entrega (enviado/entregue/lido/falhou) e relatórios. O frontend Next.js consome uma API Fastify/Prisma com filas BullMQ/Redis e integração WhatsApp via Baileys. A demonstração é uma prova de conceito — não conecta nem envia mensagens reais.
Arquitetura
- Frontend em Next.js (App Router) consumindo uma API REST em Fastify 4 com Prisma sobre PostgreSQL.
- Integração com o WhatsApp Web via Baileys: cada instância é uma sessão pareada por QR Code (gerado com qrcode), com status em tempo real por WebSocket, heartbeat e reconexão automática.
- Envio em massa controlado por filas BullMQ sobre Redis: throttling configurável, janelas de pausa (break windows) e horário de silêncio (DND) para reduzir risco de bloqueio.
- Domínio multi-tenant em ~12 entidades (Tenant, User, Instance, Contact, ContactList, Template, Campaign, Recipient, Message, Webhook, AuditLog, SettingsCredential), com papéis de acesso e status de entrega por mensagem.
- Autenticação JWT (@fastify/jwt) com senhas em argon2; observabilidade com Pino, métricas Prometheus (prom-client) e documentação OpenAPI/Swagger; e-mail transacional via Nodemailer.
Módulos
- Conexões: instâncias WhatsApp pareadas por QR Code, com status e reconexão
- Contatos e listas/segmentos (com opt-out)
- Templates de mensagem com variáveis (ex.: {{nome}})
- Criador de campanha: instância, mensagem/template, ritmo, janelas e agendamento
- Campanhas: rascunho, rodando, pausada e finalizada — com progresso de envio
- Inbox bidirecional: conversas e mensagens (enviadas/entregues/lidas/falhou)
- Relatórios: funil de entrega e volume de mensagens
- Simulador de celular: pré-visualização da mensagem renderizada
- Configurações, perfil, webhooks e auditoria
Destaques de engenharia
- Integração real com o WhatsApp Web (Baileys), com pareamento por QR Code e uma sessão por instância.
- Envio resiliente por filas (BullMQ/Redis) com throttling, janelas de pausa e horário de silêncio — estratégia anti-bloqueio.
- Tempo real via WebSocket para status de conexão e progresso das campanhas.
- Templates com variáveis e mapeamento por contato, para personalização em massa.
- Rastreamento de entrega ponta a ponta (enviado → entregue → lido / falhou).
- Multi-tenant com papéis, log de auditoria e webhooks; métricas expostas em Prometheus.