Sudeste CRM
CRM com atendimento via WhatsApp e inteligência comercial para uma empresa B2B de uniformes: caixa de entrada em tempo real, carteira, Kanban, orçamentos, chat interno e o Radar IA, que avisa quando uma venda está esfriando.

- Cliente
- Sudeste Uniformes
- Segmento
- Uniformes · B2B
- Escopo
- CRM, WhatsApp e IA comercial
- Perfis de acesso
- Administrador · Gestor · Vendedor
O Sudeste CRM junta em uma plataforma web o atendimento aos clientes pelo WhatsApp, a gestão da carteira, o funil de vendas, os orçamentos e a comunicação interna da equipe. Por cima disso funcionam duas camadas de IA: uma apoia o atendimento comercial e a outra, o Radar IA, encontra oportunidades que estão esfriando e avisa o vendedor responsável antes que o cliente se perca.
O problema
Em uma empresa B2B de uniformes, as vendas acontecem pelo WhatsApp, espalhadas entre vários vendedores e departamentos.
- Conversas sem resposta ficavam esquecidas e o cliente desistia.
- O gestor não via o que cada vendedor estava atendendo.
- A carteira de clientes vivia em planilhas e não tinha um dono claro.
- Orçamentos e etapas da negociação não tinham registro.
- A equipe se comunicava por fora do sistema e o histórico se perdia.
A solução
Um sistema central com controle de acesso por papel (administrador, gestor e vendedor) e por departamento. A regra de negócio fica dentro do banco de dados, então cada pessoa só vê e altera o que tem permissão para ver e alterar.
Seis módulos, uma única operação comercial.
Central de atendimento WhatsApp
- Caixa de entrada compartilhada, ligada a instâncias da Evolution GO por um webhook próprio para cada instância.
- Mensagens em tempo real com texto, áudio (inclusive gravação pelo navegador), mídia e foto de perfil.
- Transferência de conversas entre vendedores e departamentos, com nota interna.
- Quando o cliente volta a escrever, a conversa vai para o dono da carteira dele.
- Não lidas por escopo, busca global, ações em mensagens, sincronização de histórico e chatbot de entrada.
Carteira e clientes
- Cadastro com vários telefones, normalização de números e paginação.
- Importação em massa por CSV, com validação.
- Carteira por vendedor: vincular e desvincular clientes, com regra de acesso.
- Abertura de conversa direto da ficha do cliente.
Kanban comercial
- Quadros por departamento, com arrastar e soltar.
- Cards ligados às conversas e oportunidades, com o responsável atual.
- O vendedor vê só os próprios cards; o gestor vê o departamento inteiro.
Orçamentos
- Orçamentos vinculados ao cliente e à negociação no funil.
Chat interno
- Mensagens diretas e grupos personalizados.
- Menções, respostas, busca e contagem de não lidas.
- Central de notificações.
Administração
- Usuários, departamentos e permissões. Sem cadastro público: as contas são criadas pelo administrador.
- Configuração das instâncias de WhatsApp (QR Code), do chatbot e do Kanban.
- Auditoria, relatórios e saúde do sistema.
Radar IA: a venda que está esfriando aparece antes de ser perdida.
IA comercial
- Worker que processa a fila de atendimento com IA, com novas tentativas automáticas e trabalhos pendentes.
- O webhook dispara o processamento na hora e um agendador cuida das pendências.
- Verificações de segurança antes de chamar a IA, modo de laboratório para testes e permissões reforçadas.
- Etapa 1
Detecção por regras
O banco identifica, em SQL, sinais como uma pergunta sem resposta ou uma negociação parada há tempo demais. O sinal é criado sem duplicar e o status se ajusta conforme a conversa anda.
- Etapa 2
Análise com IA
Um worker agendado lê a conversa, faz um resumo, define a prioridade e sugere uma mensagem de retomada.
- Etapa 3
Aviso ao vendedor
A notificação aparece no sistema e um alerta é mostrado dentro da própria conversa.
- Etapa 4
Ação humana
O vendedor decide o que fazer. Marcar uma venda como perdida exige um motivo.
- Etapa 5
Visão do gestor
Painel com sinais abertos, recuperados e perdidos por departamento, e as configurações do Radar.
A IA sugere. O vendedor decide.
- A IA nunca envia mensagens ao cliente. Ela só sugere, e a decisão é sempre do vendedor.
- Sugestões que citam preço, desconto, prazo, estoque ou links são descartadas automaticamente.
- O motivo de perda só é aceito quando é um trecho literal do que o cliente escreveu.
- Clientes que pediram para não ser contatados ficam em uma lista própria e não recebem sugestões.
- O worker respeita o limite de requisições da API de IA e retoma de onde parou.
- Roda em horário comercial (seg. a sex., 7h às 19h, horário de Brasília), protegido por um segredo no Supabase Vault.
Regra de negócio no banco, segredos fora do navegador.
Navegador
Next.js / React
Supabase
- PostgresTabelas, RLS, RPCs security definer, triggers
- StorageMídias do WhatsApp
- RealtimeMensagens e notificações ao vivo
- pg_cron + pg_net + VaultAgendamento seguro dos workers
Edge Functions (Deno)
- evolution-webhookRecebe eventos do WhatsApp
- evolution-managementGerencia instâncias e QR Code
- whatsapp-messagesEnvia mensagens
- commercial-ai-workerIA de atendimento (Groq)
- radar-ai-workerRadar IA (Groq)
- admin-managementCriação de usuários
- maintenanceRotinas de manutenção
Serviços externos
- Evolution GO (WhatsApp)
- Groq (LLM)
Decisões de arquitetura
A regra de negócio fica no banco
Permissões garantidas por Row Level Security e RPCs security definer, não só pela interface. Mesmo chamando a API direto, cada pessoa só acessa o que pode.
Segredos nunca chegam ao navegador
Tokens da Evolution GO, a service_role e a chave da IA ficam só nas Edge Functions e no Vault.
Tempo real nativo
Caixa de entrada e notificações atualizam na hora com o Supabase Realtime.
Workers protegidos
Os endpoints agendados validam um segredo com comparação em tempo constante.
Mudanças versionadas e reversíveis
O banco evolui por migrações numeradas, e o Radar IA tem um script de rollback próprio.
A stack, camada por camada.
- Frontend
- Next.js 16 (App Router)
- React 19
- TypeScript
- Interface
- Tailwind CSS 4
- shadcn/ui
- Base UI
- Lucide
- Sonner
- cmdk
- next-themes
- Estado e dados
- TanStack Query
- SWR
- Supabase JS / SSR
- Formulários e validação
- React Hook Form
- Zod
- Interações
- dnd-kit
- PapaParse
- QRCode
- date-fns
- Backend
- Supabase Postgres
- Auth
- Storage
- Realtime
- Edge Functions (Deno)
- Banco
- SQL e PL/pgSQL
- RLS
- Triggers
- pg_cron
- pg_net
- Supabase Vault
- IA
- Groq (LLM)
- Vercel AI SDK
- Evolution GO (API e webhooks)
- Testes
- Vitest
- PGlite
- Build e deploy
- pnpm
- esbuild
- Vercel
- GitHub
- Desenvolvimento assistido
- v0 by Vercel
Permissões testadas num Postgres de verdade.
- As migrações reais do banco são aplicadas num Postgres embutido (PGlite) e testadas nele: RLS, regras de acesso por papel, importação de clientes e filas da IA.
- Cenário completo do Radar IA: detecção, fila, visibilidade, mudança de status, motivo de perda, métricas e lista de não contato.
- Normalização de eventos do WhatsApp, cliente da Evolution, sessão e proxy de rotas, Kanban, chat interno e proteções da IA.
- Typecheck com TypeScript e bundle das Edge Functions validados.
Destaques técnicos
- Segurança multi-papel e multi-departamento garantida no banco, e não só na interface.
- Integração com o WhatsApp por webhook próprio para cada instância, com mensagens em tempo real.
- IA aplicada com responsabilidade: o humano decide, há filtros contra promessas comerciais e as afirmações precisam ter evidência na conversa.
- Workers agendados e seguros (pg_cron, pg_net e Vault) que respeitam o limite de requisições.
- Migrações e permissões testadas num Postgres real embutido.