A OCIA nasceu de um problema que eu via em todo cliente de serviço: o WhatsApp virava um gargalo. Leads chegando, ninguém respondendo na hora certa, vendas escapando por falta de follow-up.
A solução óbvia era automação. A execução foi bem menos óbvia.
As decisões que moldaram o produto
Escolha da stack: Fastify + Next.js + PostgreSQL + Redis + BullMQ. Não é a stack mais simples. É a stack que me dá controle sobre latência, filas de mensagens e processamento assíncrono — tudo crítico para um produto de atendimento em tempo real.
Modelo de IA: Claude como LLM principal. A razão não é só qualidade de resposta — é o controle fino que o nível de system prompt permite. Consegui criar personas de atendimento muito específicas por cliente.
Webhook + debounce: O problema clássico de WhatsApp é que as pessoas mandam mensagens fragmentadas. "Oi" → pausa → "queria saber sobre" → pausa → "o preço". Sem debounce, o agente responde três vezes. Com debounce bem calibrado, espera o contexto completo e responde uma vez, certo.
Os erros que custaram tempo
Subestimar a complexidade de mídia. Áudio, imagem, documento — cada formato tem tratamento diferente. No MVP, ignorei. Na versão 1, ignorei de novo. Na versão que está em produção, não tinha como ignorar mais.
RLS (Row Level Security) subestimado. Implementar multi-tenancy seguro no PostgreSQL com RLS parece simples na teoria. Na prática, qualquer query mal escrita quebra o isolamento entre clientes. Refiz a camada de database duas vezes.
O que funcionou melhor do que esperado
O pipeline de IA em camadas. Recepcionista → Qualificador → Closer → Suporte. Cada agente com contexto específico e responsabilidade clara. Quando um cliente me perguntou "como você fez a IA entender o contexto da conversa anterior?", a resposta era simples: nunca perdi o contexto — eu construí a memória da conversa como dado estruturado desde o início.
Nenhum produto sai certo na primeira versão. A OCIA está na terceira arquitetura. Cada versão quebrou algo que eu achava que estava funcionando. Esse é o processo.