TRILHA 4

⚙️ Backend, WhatsApp e Agente IA

Modele banco, conecte WhatsApp pela Evolution API, embuta um agente IA dentro do produto e suba o InboxAI ao vivo na web — multi-tenant, seguro e com domínio próprio.

4
Módulos
24
Tópicos
~5h
Duração
Avançado
Nível
InboxAI backend WhatsApp Evolution Agente IA Codex API Convex DB Vercel Deploy Stack do InboxAI ao vivo

Módulos desta Trilha

Conteúdo Detalhado

4.1 ~75 min

🗄️ Stack + Modelagem do Banco

Convex, Supabase ou Postgres puro? Modele as tabelas do InboxAI, defina índices, faça migrations sem dor e popule dados de teste.

O que é:

Comparação prática entre Convex (BaaS reativo, TypeScript first), Supabase (Postgres + auth + storage gerenciado) e Postgres puro (Neon, Railway). Cada um tem trade-off de produtividade, controle e custo.

Por que aprender:

Escolha errada vira refactor de 3 semanas no meio do projeto. Acertar no dia zero economiza tempo e dor — Convex pra MVP rápido, Supabase pra padrão SQL, Postgres puro pra escala extrema.

Conceitos-chave:

BaaS, reatividade, RLS, lock-in, custo por GB, latência de query, free tier limits.

O que é:

Modelagem completa: organizations, users, contacts, conversations, messages, deals. Cada tabela com campos justificados pela operação real do produto, não pela vaidade técnica.

Por que aprender:

Schema bem feito é a coluna do produto. Esquema porco vira N+1 query, race condition e bug de dado fantasma. Aqui você sai com schema.ts pronto pra colar no Convex.

Conceitos-chave:

Entidades, atributos, normalização vs denormalização, soft delete, audit fields.

O que é:

Como ligar tabelas (contact tem N messages, deal tem 1 contact), criar índices em campos de busca (telefone, status) e evitar full table scan quando o cliente cresce.

Por que aprender:

A maioria dos travamentos em produto SaaS vem de query sem índice. Saber onde indexar desde o dia zero evita que sua "página de conversas" fique 8s lenta com 5k registros.

Conceitos-chave:

Foreign key, índice composto, query plan, N+1, join lateral, paginação cursor.

O que é:

Como o agente cria migrations expand-then-contract: adiciona coluna, popula, troca código, depois remove a antiga. Nunca derruba produção.

Por que aprender:

Cliente pagando R$ 2k/mês não aceita "ficou 10min fora". Migration zero-downtime é a diferença entre amador e profissional vendendo SaaS.

Conceitos-chave:

Expand/contract, backfill, rolling deploy, schema versioning, rollback.

O que é:

Script seed.ts que popula o banco com dados realistas: nomes brasileiros, telefones BR, mensagens em português, deals em diferentes estágios. Perfeito pra dev e demo.

Por que aprender:

Demo pra cliente com banco vazio é tiro no pé. Seed bom é o que faz a UI parecer "cheia de gente usando" no primeiro screenshot pro prospect.

Conceitos-chave:

Faker, fixtures, idempotência de seed, ambiente dev vs demo, dados sintéticos LGPD-safe.

O que é:

Backup automático no Convex/Supabase, snapshot manual antes de cada deploy crítico, política de retenção, plano de restore testado a cada 30 dias.

Por que aprender:

Perder dado de cliente é fim de relacionamento e processo trabalhista no horizonte. Backup só vale se você já testou restore — senão é placebo.

Conceitos-chave:

Point-in-time recovery, snapshot, retenção, RTO/RPO, drill de restore.

4.2 ~75 min

📱 Integrando Evolution API (WhatsApp)

Conecte o WhatsApp do cliente em 10 minutos com Docker, receba mensagens via webhook e envie texto, áudio e imagem programaticamente.

O que é:

Evolution API é um wrapper open-source em volta do Baileys (cliente WhatsApp Web). Sem aprovação Meta, roda em VPS, conecta número pessoal ou business em minutos.

Por que aprender:

A oficial WhatsApp Cloud API leva 2–6 semanas pra aprovação BSP. Cliente brasileiro PME quer ver funcionando hoje. Evolution destrava esse "hoje" pelo trade-off certo.

Conceitos-chave:

Baileys, BSP, Cloud API oficial, ToS WhatsApp, sessão multi-device.

O que é:

Comparação: rodar Evolution numa VPS Hetzner/Hostinger por R$ 30/mês vs usar provedor SaaS (UltraMsg, Z-API) que cobra R$ 100–300/mês mas tira a dor de operação.

Por que aprender:

Margem do seu SaaS depende disso. Self-host dá margem de 70%; cloud terceirizado fica em 30%. Saber operar destrava preço competitivo no BR.

Conceitos-chave:

VPS, uptime SLA, custo operacional, terceirização, build vs buy.

O que é:

docker-compose.yml com Evolution + Postgres + Redis. Sobe num comando, expõe porta 8080 com painel web. Inclui variáveis de ambiente, volume persistente e healthcheck.

Por que aprender:

Docker abstrai 80% da operação. Mesmo comando local e em produção. É a diferença entre "funciona na minha máquina" e "funciona em qualquer cliente".

Conceitos-chave:

docker-compose, volumes, networks, env vars, healthcheck, restart policy.

O que é:

Endpoint que gera QR code pra escanear com o WhatsApp do cliente. Sessão fica persistida no banco. Quando cair, reconecta sozinho — você não precisa pedir QR de novo.

Por que aprender:

Sessão que cai e exige QR toda vez é UX horrível pro cliente. Persistência e reconnect automático são o que faz o sistema "sumir" no bom sentido.

Conceitos-chave:

QR code pairing, multi-device, session persistence, reconnect backoff, logout remoto.

O que é:

Endpoint /webhook/evolution no seu backend que recebe POST sempre que chega mensagem. Você valida assinatura, salva no banco, dispara o agente IA.

Por que aprender:

Webhook é o coração do produto. Errar aqui (idempotência, ordem, erro silencioso) é perder mensagem do cliente — pior bug que existe nesse domínio.

Conceitos-chave:

Webhook, idempotência, retry, assinatura HMAC, dead-letter queue.

O que é:

Função sendMessage(to, payload) que abstrai o formato JSON da Evolution para texto, imagem (URL ou base64), áudio (mp3/ogg) e document (PDF). Inclui rate limit interno.

Por que aprender:

Mandar mensagem rápido demais derruba a sessão por flood. Saber respeitar limite e reaproveitar conexão é o que mantém o número online por meses sem cair.

Conceitos-chave:

Rate limit, throttle, base64 vs URL, mimetype, mensagens em massa, ban risk.

4.3 ~75 min

🤖 Agente IA Dentro do Produto

System prompt que qualifica leads, function calling pra criar deals, handoff humano e observabilidade pra LGPD — tudo dentro do produto que o cliente paga.

O que é:

Estrutura do system prompt em 5 blocos: persona (quem é o agente), objetivo (qualificar lead pra reunião), ferramentas disponíveis, restrições (nunca prometer preço), formato de saída.

Por que aprender:

90% dos agentes ruins têm system prompt ruim. Estrutura clara é a diferença entre "vendedor virtual que fecha venda" e "chatbot esquisito que cliente xinga".

Conceitos-chave:

Persona, objetivo SMART, guardrails, formato JSON, exemplos few-shot.

O que é:

Como passar para o agente as últimas N mensagens + perfil do contato + histórico resumido das conversas anteriores, sem ultrapassar 30k tokens nem queimar custo.

Por que aprender:

Mandar contexto cru a cada turno custa caro e degrada qualidade. Usar resumo + última janela + cache é o que torna agente economicamente viável.

Conceitos-chave:

Sliding window, sumarização hierárquica, prompt caching, tokens efetivos.

O que é:

Schema de funções: createDeal, scheduleCall, updateContact, transferToHuman. Agente decide quando chamar, sistema executa, retorna resultado pro próximo turno.

Por que aprender:

Sem function calling, agente é só um chatbot bonito. Com, ele atua de fato no produto — cria registros, marca calendário, dispara follow-up. Aí vira valor pago.

Conceitos-chave:

Tool use, JSON schema, validação de argumentos, ciclo agentic, retry de tool falha.

O que é:

Gatilhos automáticos: agente em loop sem progresso, cliente irritado (sentiment negativo), valor de deal acima de R$ X, palavra-chave "cancelar". Sistema avisa humano e congela bot.

Por que aprender:

Agente que insiste sozinho num cliente irritado vira reclamação no Reclame Aqui. Handoff fluido é o que protege a marca do seu cliente.

Conceitos-chave:

Detecção de loop, sentiment, escalation rules, UX de transição, contexto repassado.

O que é:

Otimização: prompt caching pra economizar 90% em tokens repetidos, Haiku pra triagem barata + Sonnet pra resposta complexa, batch pra análise pós-fato (não tempo real).

Por que aprender:

Custo de IA é o que mata margem do SaaS. Diferença entre R$ 8 por cliente/mês e R$ 80 é só engenharia de custo. Aqui você aprende a fazer 90% de redução.

Conceitos-chave:

Prompt caching, batch API, model routing, cost per conversation, unit economics.

O que é:

Log estruturado de cada turno: prompt, resposta, tools chamadas, custo, latência. Painel pra auditar o que o agente fez. Endpoint LGPD de "exportar/apagar dados deste contato".

Por que aprender:

Cliente vai perguntar "por que o bot disse isso?" Sem log, você fica sem resposta. LGPD obriga rastreabilidade — sem ela, multa de até 2% do faturamento.

Conceitos-chave:

Structured logging, traces, ANPD, direito do titular, retenção de dados.

4.4 ~75 min

🔐 Auth Multi-tenant + Deploy

Isolamento por cliente, Clerk pra login, RLS pra blindar dados, Vercel + Convex em produção e domínio próprio com SSL no automático.

O que é:

Modelagem onde cada cliente do aluno tem organizationId próprio. Toda query filtra por org. Usuários só veem dados da sua organização — nunca da clínica concorrente.

Por que aprender:

Sem multi-tenant, você não vende SaaS, vende projeto. Multi-tenant bem feito é o que permite cobrar 10 clientes no mesmo backend e escalar margem.

Conceitos-chave:

Tenant ID, shared schema, isolated schema, pool pattern, silo pattern.

O que é:

Setup do Clerk em 15 minutos: providers (email magic link, Google, GitHub), roles (owner, admin, agent), organizations nativas, webhook que cria registro no Convex.

Por que aprender:

Auth caseira é receita pra vazamento. Clerk resolve em horas o que levaria semanas — e libera você pra trabalhar no que diferencia o produto, não no login.

Conceitos-chave:

JWT, magic link, OAuth, roles, organizations, webhooks de auth.

O que é:

Padrão de queries Convex onde cada função verifica orgId do usuário autenticado e filtra. Em Supabase, mesmo princípio com policies SQL. Bug aqui = vazamento.

Por que aprender:

Em SaaS multi-tenant, RLS quebrada vira manchete. É o controle final que protege o produto contra erro humano de query mal escrita.

Conceitos-chave:

RLS, policy, identity context, defense in depth, audit trail.

O que é:

.env no .gitignore, secrets na Vercel/Convex Cloud por ambiente (dev/preview/prod), checklist de rotação a cada 90 dias, scan de leaks com gitleaks.

Por que aprender:

Secret no Git é a forma mais comum de invasão. 5 minutos seguindo o checklist evita boleto de R$ 50k da AWS por mineração de cripto.

Conceitos-chave:

Env vars, gitignore, gitleaks, vault, rotação, princípio do menor privilégio.

O que é:

vercel deploy pro frontend, npx convex deploy pro backend reativo, integração GitHub que faz preview em cada PR. Em 3 comandos seu app está ao vivo.

Por que aprender:

Cliente paga por produto online, não por código no GitHub. Deploy fluido é o que transforma "fiz" em "vendi".

Conceitos-chave:

Build, edge function, preview deploy, environment, rollback de deploy.

O que é:

Comprar domínio (Registro.br ou Cloudflare), apontar DNS pra Vercel, SSL emitido automático via Let's Encrypt. Subdomínio por cliente (cliente1.app.com.br).

Por que aprender:

Domínio próprio é o que separa MVP de produto vendável. Cliente sério não compra .vercel.app no link — ele compra app.suamarca.com.br.

Conceitos-chave:

DNS, CNAME, A record, Let's Encrypt, wildcard SSL, white-label.