EstoqueZap
ERP conversacional: estoque, fornecedores, pedidos de compra e importação de NF-e controlados por WhatsApp (bot com IA via Groq) e um dashboard executivo com Recharts.
Tecnologias
Comando → Banco
<1.5sConexão com WhatsApp
WebSocketSessão persistida
PostgreSQLO Problema
Pequenos lojistas e autônomos encontram grande dificuldade em manter inventários de estoque atualizados por usarem planilhas que exigem computador ou cadernos de papel suscetíveis a perdas. A necessidade era criar uma interface conversacional para que qualquer alteração de estoque pudesse ser feita instantaneamente de qualquer lugar por mensagem de WhatsApp, com IA interpretando comandos livres (não só padrões fixos) e um painel administrativo completo por trás.
Decisão Técnica
O bot se conecta ao WhatsApp via Baileys (`@whiskeysockets/baileys`), mantendo uma conexão WebSocket persistente com reconexão automática — sem depender de webhooks. Um desafio real de infraestrutura: como o backend roda no Render (disco efêmero), a sessão de login do WhatsApp precisava sobreviver a restarts — resolvi persistindo o auth state do Baileys direto no PostgreSQL via Prisma, em vez do padrão em arquivo. Groq/Llama interpreta comandos em linguagem natural ('vendi 3 camisetas azuis'), com um limitador anti-spam que suspende o número por 2 minutos após comandos inválidos consecutivos. O backend em NestJS ganhou módulos de fornecedores, pedidos de compra e importação de notas fiscais (NF-e), além de headers de segurança (CSP, Permissions-Policy) e conformidade com LGPD. O painel em Next.js tem um dashboard executivo com gráficos Recharts e é instalável como PWA.
O Resultado
O ERP converte comandos de texto e voz livre do WhatsApp em atualizações no banco em menos de 1.5s, com a sessão do bot sobrevivendo a reinícios do servidor e o estoque sincronizado em tempo real no painel — do estoque à emissão de NF-e, tudo pelo celular.
