O que eu aprendi em produção
Engenharia de software e IA a partir de problemas reais: o que quebrou, por que quebrou e como ficou de pé. Cada artigo sai de um caso que eu vivi, com a fonte conferida e o cliente anônimo.
CRM pronto ou CRM sob medida com WhatsApp: quando vale construir?
Na maioria dos casos, CRM pronto mais uma integração resolve. Os 5 casos em que construir compensa, com preço por usuário do Pipedrive e do Kommo.
Quanto custa um agente de IA de pré-vendas no WhatsApp em 2026?
Implantação a partir de R$ 7 mil e manutenção a partir de R$ 1.500 por mês, mais tarifa da Meta e modelo de IA. A conta em 4 partes, com tabela por volume.
Por que a página com 3D cai de 60 para 37 fps no notebook?
No meu site, tela animada em CanvasTexture derrubou o Three.js de 60 para 37 fps na Intel UHD. willReadFrequently resolveu, e a medição exigiu um controle.
Intimações do DJEN pela OAB, três armadilhas que dão resultado errado sem avisar
A consulta pública do DJEN devolve lista vazia com sucesso, perde publicações na busca por nome e tem total que não fecha. O que conferi em 2026-10-09.
Por que a IA inventa jurisprudência com cara de real e como impedir isso numa minuta
IA pode citar julgado que não existe e quem responde é o advogado. O que tribunais decidiram, o que a OAB recomenda e as quatro travas que uso.
Dá para automatizar a busca no Jusbrasil? O que os termos dizem e onde buscar na fonte oficial
Os termos do Jusbrasil vedam acesso automatizado, scrapers e API não autorizada. Onde buscar jurisprudência e publicações na fonte oficial.
O que a OAB recomenda sobre atendimento com IA e como isso vira desenho de sistema
A recomendação do Conselho Federal pede que o chatbot diga que é máquina e que o cliente possa falar com uma pessoa. Como isso vira três níveis de resposta.
API oficial ou não oficial do WhatsApp para atendimento com IA: o que muda?
Para atender clientes de uma empresa com IA, uso a API oficial. A não oficial não tem tarifa, mas as regras do WhatsApp a proíbem e a conta pode ser suspensa.
O que o WhatsApp Business passou a cobrar em outubro de 2026?
Desde 1º de outubro a Meta cobra as respostas dentro da janela de 24 horas, inclusive as de agente de IA: R$ 0,035 por mensagem após as 1.000 primeiras do mês.
Android vai bloquear app fora da Play Store? A verificação de desenvolvedor de 2026 e o PWA
Desde 30/09/2026 o Android exige desenvolvedor verificado em lojas participantes no Brasil. O que muda para sideload e adb, e o que não está dito sobre PWA.
O que significa o erro 131049 do WhatsApp quando o template de marketing não é entregue?
O erro 131049 é o limite da Meta para mensagens de marketing por usuário. O que a documentação manda fazer, por que reenviar em loop piora e como contornar.
Como testar um chatbot com LLM sem a prova mentir?
Teste de chatbot passa verde lendo o rodapé em vez da resposta. Como medir a bolha certa, escolher a pergunta e comparar só a parte que não varia.
Três consultas SQL que perdem linha ou rodam por linha sem dar erro (LIMIT, NOT EXISTS, função VOLATILE)
LIMIT antes do filtro, NOT EXISTS em INSERT SELECT e função VOLATILE no WHERE dão resultado errado ou lento sem erro. Testado no Postgres 16, com a correção.
Por que o lead fica sem resposta no Chatwoot com n8n? O webhook que nunca virou execução
Quando a conversa termina na fala do cliente, o webhook do Chatwoot pode ter estourado o prazo de 5 segundos no n8n. Como achar os casos e responder na hora.
Por que o Supabase devolve só 1.000 linhas e não avisa? (max rows do PostgREST)
O Supabase corta toda resposta da API em 1.000 linhas por padrão, sem erro. Como o limite max rows engana uma soma na tela e como somar no banco.
Por que o primeiro pagamento real achou bugs que quase mil testes não viram?
997 testes verdes e o plano não subiu depois do primeiro pagamento. Quatro bugs de webhook, tempo, data e coluna, e por que os testes copiavam o erro do código.
Servidor em UTC e navegador no Brasil: por que a data aparece errada por um dia?
Data renderizada no servidor em UTC e no navegador em UTC-3 diverge à noite e gera erro de hidratação do React. Entenda a causa e como fixar o fuso.
Por que o agente de IA esquece a regra do prompt no meio da conversa?
A regra no prompt de sistema perde força conforme a conversa cresce. O que a documentação diz, o que medi num assistente de chat e como repetir o lembrete.
Conversions API conectada, mas a Meta pede "Connect your CRM": o que falta?
Receber eventos pela Conversions API não cadastra a integração de CRM. O que a Meta exige em custom_data e action_source, e o passo seguinte, o funil.
n8n Community: o que a licença grátis libera, e posso vender fluxo para cliente?
A chave grátis libera pastas, debug no editor e dados de execução. Cobrar para construir fluxos para clientes é permitido; hospedar n8n como serviço, não.
Por que o iPhone dá zoom na página quando toco num campo do formulário?
O Safari do iPhone amplia a página ao focar um campo com fonte menor que 16px. Como confirmar, corrigir com uma regra de CSS e por que não desligar o zoom.
Por que o webhook do RD Station chega sem funnel_stage, e o lead do formulário da Meta some?
O webhook do RD Station Marketing traz a última conversão do instante, às vezes sem etapa do funil. E o formulário novo da Meta pode descartar o lead calado.
Por que reenviar uma requisição de criação com upsert faz o status voltar atrás?
Upsert que sobrescreve a linha inteira não é idempotente: o reenvio desfaz o que já avançou. Como usar ON CONFLICT DO NOTHING e provar que nada regrediu.
Como reprocessar em massa sem duplicar? O que é seguro repetir (retry e idempotência)
Ligar retry em toda chamada externa cria registros duplicados. Classifique antes: só leitura e atualização com id são seguras. Exemplo em fluxos n8n.
Como dar memória a agentes de IA que funcione com qualquer modelo?
Guardar a memória em arquivos Markdown versionados no git, com um arquivo canônico lido por Claude Code, opencode e outros. Como montei e onde quebrou.
RLS no Supabase sem GRANT: por que a tela fica vazia e não dá erro?
Sem GRANT na tabela, a política de RLS nem chega a rodar. Como o Supabase e o Postgres tratam isso, por que a tela abre vazia e como conferir em uma consulta.
Por que a conversão offline do Google Ads não aparece? CONVERSION_PRECEDES_EVENT e EXPIRED_EVENT
Conversão offline do Google Ads zerada sem erro na tela: CONVERSION_PRECEDES_EVENT, EXPIRED_EVENT e o partial_failure_error que fica dentro da resposta.
Refresh token rotativo: como detectar quando um token antigo é reutilizado?
Rotacionar o refresh token só protege se o servidor guardar a família de tokens e derrubá-la no reuso. E cinco jeitos de essa defesa deslogar usuário inocente.
Rate limit atrás de proxy: por que bloqueou todo mundo de uma vez?
Sem trust proxy, o Express vê o IP do proxy em toda requisição e o rate limit vira um teto único. Como declarar o número de saltos e por que não usar true.
Como mover um negócio de funil pela API do Bitrix24 e extrair a conversa do Open Lines?
crm.deal.update não troca o funil do Bitrix24 e responde sucesso. Use crm.item.update. E a conversa do Open Lines só aparece com ACTIVE_ONLY=N.
Por que o contato do WhatsApp não bate com o CRM? O caso do nono dígito
A Meta pode devolver o número do cliente sem o 9 do celular. O mesmo contato passa a existir duas vezes e a busca no CRM falha. Como cruzar sem errar.
Por que a Meta entrega o mesmo evento duas vezes e o seu sistema responde em dobro?
O webhook da Meta não promete entrega única: repete quando falha e a documentação manda deduplicar. Como evitar a resposta em dobro, com o exemplo no n8n.
Dá para publicar Reels e Story no Instagram pela API sem App Review?
Sim, se o app serve só o seu próprio negócio e usa Standard Access. O limite é 100 posts por 24 horas por conta. Vários clientes exigem Advanced Access.
Make: por que o gatilho de Facebook Lead Ads dispara para todos os formulários da página?
O webhook de leads da Meta é por página. Dois cenários da mesma página recebem leads um do outro. Filtre pelo formId logo depois do gatilho.
Por que a API do WhatsApp responde 200 com wamid e o PDF ou a mídia não chega?
A resposta 200 com wamid só confirma que a Meta aceitou o pedido. Com mídia por link, o download falha depois e calado. O que conferir e como corrigir.
Tem um problema parecido na sua operação?
Me conta em uma frase. Eu respondo com o que dá para fazer, em quanto tempo e por quanto.
Me conta o problema