# Pedro Henrique Quadro > Construo aplicativos, sistemas e SaaS, painéis, agentes de IA, automação e integrações, do banco de dados à tela, com o sistema rodando em produção. Engenheiro de software e IA de ponta a ponta. Brasil, horário de Brasília. Atendimento remoto. Idiomas: pt-BR, en. Aceita novos projetos. A disponibilidade e a data de início são combinadas na primeira conversa. Atualizado em 2026-10-10. Site: https://pedroquadro.com ## Fatos - Função: Engenheiro de software e IA de ponta a ponta - Local: Brasil, horário de Brasília. Atendimento remoto. - Idiomas: Português nativo. Inglês para reunião e documentação. - Setores atendidos: Hospitalidade; Seguros; Gastronomia; Marketing; Eventos e entretenimento - Disponibilidade: Aceita novos projetos. A disponibilidade e a data de início são combinadas na primeira conversa. - Contato: WhatsApp https://wa.me/5531989206776; e-mail pluspedrohenrique@gmail.com; LinkedIn https://www.linkedin.com/in/pedrohenriquequadro; GitHub https://github.com/PedroHenrique0713 - Atualizado em: 2026-10-10 - Página: https://pedroquadro.com/fatos Como trabalha: Vim do marketing e da análise de dados antes de programar. Por isso começo pelo problema do negócio e escrevo o código para resolvê-lo, nunca o contrário. **Números** - 30+ projetos entregues - 2-4 semanas até o piloto em produção - 5 setores já atendidos - 10 contribuições aceitas em código aberto, em 3 organizações - 18 contribuições abertas em revisão em código aberto **Resultados medidos em projetos (cliente identificado só pelo setor)** - 70% menos tempo de análise de leads. CRM sob medida para uma startup, medido nos primeiros 60 dias. - 4x mais reuniões agendadas que o SDR humano. Agente de IA de qualificação para clientes de alto valor, no mesmo funil. - 60% menos custo por lead qualificado. Agente de qualificação no WhatsApp para uma operação de seguros, comparado à operação anterior. - 40% mais conversão em reservas. Atendimento e reservas por IA no WhatsApp para gastronomia, no primeiro trimestre. **O que dá para conferir (links públicos)** - Correção no Realtime: cabeçalho de broadcast codificado em UTF-8 (supabase/supabase-js #2516, 2026-07-13): https://github.com/supabase/supabase-js/pull/2516 - Correção em Functions: Content-Type da resposta comparado sem diferenciar maiúsculas (supabase/supabase-js #2515, 2026-07-21): https://github.com/supabase/supabase-js/pull/2515 - Documentação: ordem do Services ID da Apple no login pela web (supabase/supabase #47707, 2026-07-16): https://github.com/supabase/supabase/pull/47707 - Cliente Node.js: valores BigInt aceitos em intColumn() (questdb/nodejs-questdb-client #63, 2026-09-18): https://github.com/questdb/nodejs-questdb-client/pull/63 - Documentação: TTL em materialized views (questdb/documentation #482, 2026-08-03): https://github.com/questdb/documentation/pull/482 - Documentação: a chave query.timeout (questdb/documentation #483, 2026-08-04): https://github.com/questdb/documentation/pull/483 - Documentação: download em Parquet e CSV no Result Grid (questdb/documentation #484, 2026-08-03): https://github.com/questdb/documentation/pull/484 - Plugin do DigitalOcean: tarefas de snapshot e CreateSnapshot em volumes (kestra-io/plugin-digitalocean #17, 2026-10-09): https://github.com/kestra-io/plugin-digitalocean/pull/17 - Plugin do DigitalOcean: tarefas de saldo, histórico de cobrança e faturas (kestra-io/plugin-digitalocean #18, 2026-10-09): https://github.com/kestra-io/plugin-digitalocean/pull/18 - Blueprint: conversões de leads do CRM pela Meta Conversions API (kestra-io/blueprints #549, 2026-10-06): https://github.com/kestra-io/blueprints/pull/549 - brain-template: memória persistente e versionada para trabalhar com IA (PedroHenrique0713/brain-template): https://github.com/PedroHenrique0713/brain-template - claude-dongle: monitor de limite de uso do Claude Code (PedroHenrique0713/claude-dongle): https://github.com/PedroHenrique0713/claude-dongle **Trajetória** - 2020-2024: Marketing e mídia paga, como autônomo. - 2024-2025: Dados e BI em um app de relacionamento que operava em Portugal: painéis, banco de dados e modelos de previsão. - 2025-2026: Full-stack Developer em uma startup do Rio de Janeiro, como desenvolvedor único: um CRM multiempresa do banco de dados à tela. - 2026-: AI Engineer: agentes de IA, integrações e engenharia de produto. **Tecnologias** - Front-end: TypeScript, JavaScript, React, Next.js, Vite, Tailwind CSS, Three.js, GSAP, Figma - Mobile e desktop: Flutter, Dart, notificações push, App Store, Google Play, extensões do Chrome, PyQt6 - Back-end: Node.js, Express, Python, FastAPI, Deno, Edge Functions, Java, APIs REST, webhooks - Bancos de dados: PostgreSQL, SQL, Supabase, MongoDB, Redis, pgvector, QuestDB - Login e segurança: RLS, JWT, OAuth 2.0, OpenID Connect, rotação de refresh token, lock de linha - IA: Claude API, OpenAI API, Gemini API, Vertex AI, OpenRouter, RAG, embeddings, function calling, LangChain, evals, MCP, Claude Code - Automação e integrações: n8n, Make, WhatsApp Cloud API, Evolution API, Instagram API, Meta Conversions API, Meta Lead Ads, Google Ads API, Bitrix24, RD Station, Chatwoot, HeyReach, Apify, Telegram Bot API, Mercado Pago, Resend - Infra e qualidade: Docker, Linux, VPS, Easypanel, GitHub Actions, CI/CD, Playwright, Git, Turborepo - Dados e crescimento: painéis, GA4, Google Tag Manager, Search Console API, modelos de previsão, teste A/B, Meta Ads, Google Ads **Como contratar** 1. Chame no WhatsApp e conte, em poucas linhas, o que hoje toma tempo da sua equipe. 2. Diagnóstico: uma conversa para mapear os processos e definir a métrica de sucesso. Sem custo e sem compromisso. 3. Proposta escrita com o que entra, o prazo e o valor, e contrato com os termos combinados. 4. Piloto em produção em 2 a 4 semanas, com a métrica definida antes de começar. 5. Escala: se funcionou, levo para os próximos processos. ## Serviços ### Aplicativos para iPhone e Android Página: https://pedroquadro.com/servicos/aplicativos Construo o aplicativo para iPhone e Android com Flutter, um código só para as duas lojas, e o servidor que ele precisa: login, pagamento, notificação e API. Já publiquei um app de treino na App Store e no Google Play. **Para quem:** Empresas e founders que querem um aplicativo próprio, e não só um site: para os clientes usarem no celular, para a equipe em campo ou como produto novo. Serve também a quem já tem um protótipo e precisa levá-lo até as lojas. **Problemas que resolve** - Duas equipes e dois códigos, um para iPhone e outro para Android, e o dobro do custo para manter. - App bonito na demonstração que não tem servidor por trás: sem login seguro, sem cobrança, sem aviso para o usuário. - Medo do processo de publicação nas lojas, com regras, revisão e pedidos de ajuste. - Data, hora ou dado que aparece errado no celular de quem mora em outro fuso ou usa outro navegador. **O que inclui** - Aplicativo em Flutter para iPhone e Android, a partir de um código só. - Servidor e API do aplicativo, com login, permissões e dados de cada usuário separados. - Cobrança e pagamento dentro do aplicativo, quando o produto precisa. - Notificações no celular para avisar o usuário do que importa. - Publicação na App Store e no Google Play, com a conta de desenvolvedor no nome da sua empresa. - Painel web simples para a sua equipe gerenciar usuários e conteúdo, quando fizer sentido. **Como funciona** 1. Diagnóstico: uma conversa para entender quem vai usar o aplicativo, o que ele precisa fazer no primeiro dia e o que pode esperar. Sem custo e sem compromisso. 2. Proposta por escrito, dividida em partes, cada uma com entrega e critério de aceite combinados antes de começar. 3. Construção em entregas semanais: você instala a versão de teste no próprio celular e vê o app crescer, em vez de esperar o fim. 4. Publicação e acompanhamento: envio às lojas, resposta às revisões e correção do que aparecer nas primeiras semanas de uso. **Prazo típico:** A proposta traz o prazo de cada parte, e as entregas são semanais. O prazo total depende do escopo e do tempo de revisão das lojas. **Perguntas frequentes** - Por que Flutter e não dois aplicativos separados? Com Flutter, o mesmo código roda no iPhone e no Android. Isso reduz o custo de construir e, principalmente, de manter: uma correção vale para os dois. Quando o aplicativo precisa de algo muito específico de um sistema, dá para escrever essa parte à parte. Para a maioria dos produtos de empresa, um código só atende bem. - Você já publicou aplicativo nas lojas? Sim. Publiquei um aplicativo de treino na App Store e no Google Play, com o servidor que ele usa. A experiência de passar pela revisão das lojas entra no planejamento do seu projeto, para o prazo não ser surpresa. - Quanto custa e quanto tempo leva? Depende do que o aplicativo faz. Depois do diagnóstico, que é gratuito, envio uma proposta escrita com o prazo e o valor de cada parte, e as entregas são semanais. As taxas das lojas e da conta de desenvolvedor são da sua empresa, e eu aviso quais são antes de começar. - O código e a conta nas lojas ficam comigo? Sim. A conta de desenvolvedor fica no nome da sua empresa, e o código e o servidor são entregues a você no fim do projeto. Você não depende de mim para manter o aplicativo no ar. ### Sistemas, CRM e SaaS sob medida Página: https://pedroquadro.com/servicos/sistemas-e-saas Construo CRM, portal de clientes, sistema interno e SaaS, do banco de dados à tela. Quando o produto atende várias empresas, cada uma tem os dados isolados no próprio banco, com segurança por linha no Postgres. Fiz um CRM assim sozinho, e a análise de cada lead ficou 70% mais rápida nos primeiros 60 dias. **Para quem:** Empresas cuja operação já passou do que planilha e ferramenta pronta aguentam, e founders que precisam de um produto web com login, permissões e cobrança. Também serve a quem tem um sistema começado e precisa de alguém para levá-lo à produção com segurança. **Problemas que resolve** - Ferramenta pronta que não encaixa no processo, e a equipe contorna com planilha. - Produto que atende várias empresas e não pode deixar o dado de uma aparecer para outra. - Tela vazia, sem erro nenhum, porque a regra de acesso do banco bloqueou a consulta em silêncio. - Sistema que passa em todos os testes e quebra no primeiro pagamento ou no primeiro cliente de verdade. - Login e sessão feitos às pressas, sem proteção contra token roubado ou excesso de tentativas. **O que inclui** - Sistema web completo: interface, regras de negócio e banco de dados em Postgres. - Login, permissões por perfil e sessão segura, com proteção contra reuso de token e excesso de tentativas. - Isolamento dos dados de cada empresa com segurança por linha (row level security), quando o sistema é multiempresa. - Cobrança e assinatura, quando o produto cobra do usuário, testadas com pagamento real antes da entrada no ar. - Integração com WhatsApp, e-mail, ERP e as ferramentas que a operação já usa. - Painéis para o time acompanhar a operação e os números. **Como funciona** 1. Diagnóstico: uma conversa para mapear o processo, quem usa o sistema e o que dói hoje. Sem custo e sem compromisso. 2. Proposta por escrito, em partes, cada uma com entrega e critério de aceite combinados antes de começar. 3. Construção em entregas semanais, com o sistema no ar desde cedo para a sua equipe usar e corrigir o rumo. 4. Entrada em produção e acompanhamento: primeiro com poucos usuários, depois com todos, conferindo o que o uso real mostra. **Prazo típico:** A proposta traz o prazo de cada parte, e as entregas são semanais. Um sistema completo é dividido em fases, combinadas depois do diagnóstico. **Setor:** marketing, seguros, servicos-premium **Perguntas frequentes** - O que é um sistema multiempresa (multi-tenant)? É um único sistema que atende várias empresas, cada uma enxergando só os próprios dados. No Postgres, isso se garante no próprio banco com segurança por linha: a regra de acesso fica na base, e não só na tela. Assim, um erro de interface não deixa o dado de uma empresa vazar para outra. - Você já construiu um sistema assim? Sim. Fui o único desenvolvedor de uma startup e construí o CRM da empresa do banco de dados à tela: multiempresa, com login, pipeline em Kanban, caixa de entrada do WhatsApp e painéis, em produção com clientes ativos. A análise de leads levou 70% menos tempo nos primeiros 60 dias. O caso está logo abaixo. - Preciso trocar o sistema que já uso? Nem sempre. Se a ferramenta atual atende, integro com ela. A troca ou a construção de um sistema novo só vale quando o que existe impede o que a operação precisa. Falo isso com franqueza no diagnóstico. - Quanto custa e quanto tempo leva? Depende do escopo. Depois do diagnóstico, que é gratuito, envio uma proposta escrita com o prazo e o valor de cada parte, e as entregas são semanais. O código e o banco de dados são seus, e eu entrego tudo no fim. ### Painéis e dados Página: https://pedroquadro.com/servicos/paineis-e-dados Monto painéis que juntam o seu banco de dados, planilhas, CRM e anúncios em um lugar só, atualizam sozinhos e avisam quando um número foge do normal. Comecei a carreira em dados e BI, com dashboards e modelos de previsão. **Para quem:** Empresas que decidem olhando planilhas copiadas à mão, números que não batem entre ferramentas e relatório que chega tarde. Serve a gestores, times comerciais e de marketing que precisam de um número confiável sem pedir para alguém montar. **Problemas que resolve** - Relatório montado à mão toda semana, que já nasce velho. - O CRM diz um número, o anúncio diz outro e a planilha diz um terceiro. - Previsão que dá um número maior do que o real porque a conta de média está errada. - Painel que mostra só parte dos dados, porque o banco corta a consulta sem avisar. - Contato que existe nos dois sistemas e não é reconhecido como o mesmo. **O que inclui** - Painel web com os números que a sua operação acompanha, em uma tela só. - Ligação com as fontes: banco de dados, planilhas, CRM e plataformas de anúncio. - Atualização automática, sem ninguém copiar e colar. - Alerta quando um número foge do normal, no WhatsApp, no e-mail ou no chat da equipe. - Definição escrita de cada métrica (o que entra, o que sai, como se calcula), para todo mundo ler o mesmo número. - Conferência dos números do painel contra a fonte antes de entregar. **Como funciona** 1. Diagnóstico: uma conversa para saber que decisões o painel precisa apoiar e de onde vêm os dados hoje. Sem custo e sem compromisso. 2. Definição das métricas: escrevo com você o que cada número significa antes de desenhar qualquer tela. 3. Construção em entregas semanais, conferindo cada número contra a fonte. 4. Alertas e acompanhamento: ligo os avisos e ajusto os limites com o uso real. **Prazo típico:** A proposta traz o prazo de cada parte, e as entregas são semanais. Um primeiro painel com as fontes principais costuma ser a primeira parte combinada. **Setor:** marketing **Perguntas frequentes** - Que fontes de dados o painel consegue juntar? Banco de dados, planilhas, CRM, plataformas de anúncio e o que mais tiver API ou exportação. Antes de prometer, confiro como cada fonte entrega o dado e se ele chega completo. - Como o painel avisa que algo está errado? Definimos juntos o que é normal para cada número e o limite a partir do qual vale um aviso. Quando o número passa do limite, o painel manda a mensagem para quem precisa agir, com o dado que causou o alerta. Os limites são ajustados nas primeiras semanas, com o uso real. - Você tem experiência com dados? Sim. Comecei em marketing e análise de dados, com dashboards, bancos de dados e modelos de previsão, e só depois fui para a engenharia de software. Por isso começo pela decisão que o número precisa apoiar, não pelo gráfico. - Quanto custa e quanto tempo leva? Depende de quantas fontes e métricas entram. Depois do diagnóstico, que é gratuito, envio uma proposta escrita com o prazo e o valor de cada parte, e as entregas são semanais. ### Automação e integrações Página: https://pedroquadro.com/servicos/automacao-e-integracoes Ligo os sistemas da empresa para o trabalho passar de um para o outro sem ninguém digitar: a venda do site vira pedido no ERP, a cobrança e a mensagem saem sozinhas. As integrações não duplicam (idempotência, filas e reprocessamento) e avisam quando um fluxo para. O piloto costuma entrar em produção em 2 a 4 semanas. **Para quem:** Empresas em que alguém copia dado de um sistema para outro todo dia, e o erro e o atraso já custam venda. Serve a operações que cresceram com várias ferramentas soltas e a quem já tem uma automação que duplica, esquece ou para sem ninguém perceber. **Problemas que resolve** - Venda feita no site que alguém digita de novo no ERP, com atraso e erro de digitação. - Integração que cria o mesmo pedido ou manda a mesma mensagem duas vezes, porque o aviso chegou repetido. - Fluxo que parou há dias e só foi descoberto quando o cliente reclamou. - Reprocessar os dados depois de uma falha e ter medo de cobrar ou avisar o cliente em dobro. - Cobrança, nota e mensagem dependendo de uma pessoa lembrar de fazer. **O que inclui** - Integração entre os seus sistemas (site, ERP, CRM, cobrança, WhatsApp, planilhas), por API ou por webhook. - Proteção contra duplicidade: o mesmo evento, mesmo recebido duas vezes, é processado uma vez só. - Filas e novas tentativas para o que falha, com reprocessamento seguro depois de uma queda. - Alerta quando um fluxo para ou falha, com o registro do que aconteceu. - Registro de cada execução, para conferir o que entrou, o que saiu e quando. - Documentação do fluxo em linguagem simples, para a sua equipe entender e manter. **Como funciona** 1. Diagnóstico: uma conversa para mapear o que se copia à mão hoje, quanto tempo toma e o que acontece quando dá errado. Sem custo e sem compromisso. 2. Desenho: defino o que aciona o fluxo, o que conta como repetido e o que acontece em cada falha, antes de escrever código. 3. Piloto em produção: em 2 a 4 semanas, um fluxo real rodando, com o registro de execuções e os alertas ligados. 4. Escala: com o piloto medido, levo o mesmo cuidado para os próximos fluxos. **Prazo típico:** Piloto em produção em 2 a 4 semanas depois do diagnóstico, em um fluxo real. O prazo muda com o número de sistemas e com a liberação dos acessos. **Setor:** hospitalidade, seguros, gastronomia, marketing, eventos **Perguntas frequentes** - Como evitar que a integração duplique pedido ou mensagem? Cada evento recebido leva uma chave que o identifica, e o sistema guarda quais chaves já foram processadas. Se o mesmo aviso chegar de novo, ele é reconhecido e ignorado. Isso é a idempotência: repetir a operação dá o mesmo resultado que fazer uma vez. Plataformas como a Meta entregam o mesmo evento mais de uma vez, então essa proteção não é opcional. - E se o fluxo cair no meio do caminho? O que falhou vai para uma fila e é tentado de novo, e o sistema guarda onde parou. Depois da queda, dá para reprocessar com segurança, porque só o que é seguro repetir é repetido e o resto passa por conferência. Quando o fluxo para de vez, você recebe um alerta, em vez de descobrir pela reclamação do cliente. - Você usa n8n ou código? Os dois, conforme o caso. Para fluxos simples e que a sua equipe vai editar, n8n costuma bastar. Para volume alto, regra complexa ou integração crítica, escrevo em código (TypeScript ou Python), com testes. Explico a escolha na proposta. - Quanto custa e quanto tempo leva? O piloto costuma entrar em produção em 2 a 4 semanas. O valor depende dos sistemas envolvidos e do volume, e eu passo depois do diagnóstico, que é gratuito. Os custos de terceiros (plataformas, APIs) têm estimativa mensal antes de começar. ### Atendimento no WhatsApp com IA Página: https://pedroquadro.com/servicos/atendimento-whatsapp-com-ia Construo atendentes de IA para o WhatsApp da sua empresa, na API oficial da Meta. Eles respondem clientes e leads a qualquer hora, usam os dados do seu CRM e chamam uma pessoa quando o assunto pede. O piloto costuma entrar em produção em 2 a 4 semanas. **Para quem:** Empresas que vendem ou atendem pelo WhatsApp e hoje respondem tudo na mão, ou com um menu automático (“digite 1, digite 2”) que o cliente abandona. Serve para time comercial que perde lead fora do horário e para operação que cresce e não quer contratar mais gente só para responder mensagem. **Problemas que resolve** - Lead que chama à noite ou no fim de semana e esfria até alguém responder. - Time que passa o dia respondendo as mesmas perguntas. - Menu automático que o cliente abandona antes de resolver qualquer coisa. - Resposta em dobro, mensagem repetida ou contato que não bate com o CRM: falhas comuns de integração com o WhatsApp. - Medo de a IA falar o que não devia e ninguém perceber. **O que inclui** - Atendente de IA conversando no WhatsApp pela API oficial da Meta, no tom da sua empresa. - Ligação com o seu CRM ou planilha: ele consulta e grava os dados do contato, sem ninguém digitar duas vezes. - Regra de quando passar para uma pessoa (assunto delicado, pedido do cliente, dúvida da IA), com aviso para o responsável. - Proteção contra resposta duplicada quando a Meta repete o aviso de mensagem, e tratamento do telefone brasileiro com e sem o nono dígito. - Registro de cada conversa e do que o atendente decidiu, para você conferir quando quiser. - Estimativa do custo mensal da operação (mensagens da Meta e modelo de IA) antes de começar. **Como funciona** 1. Diagnóstico: uma conversa para mapear as perguntas que mais chegam, onde o time perde tempo e o que o atendente pode e não pode fazer. Sem custo e sem compromisso. 2. Desenho: defino o tom de voz, as regras de passagem para uma pessoa e a métrica de sucesso antes de escrever código. 3. Piloto em produção: o atendente entra num número real, com volume controlado. Você acompanha as conversas. 4. Ajuste e escala: com o resultado medido, corrijo o que errou e levo para o resto da operação. **Prazo típico:** Piloto em produção em 2 a 4 semanas depois do diagnóstico. O prazo muda se a conta da empresa na Meta ainda precisa ser verificada. **Setor:** hospitalidade, seguros, gastronomia, marketing, eventos **Perguntas frequentes** - Posso usar a API não oficial do WhatsApp para atendimento com IA? Eu não recomendo e não uso em cliente. Ferramentas que conectam o WhatsApp pelo QR Code não são da Meta, e as regras do WhatsApp listam o uso de clientes não oficiais entre as condutas proibidas e preveem a suspensão da conta. Não há número público de quantas contas são suspensas, mas o risco é real, e quem arca com ele é a empresa, que pode perder o canal em que vende. Para a operação de uma empresa, uso a API oficial da Meta. - Quanto custa mandar mensagem pela API oficial em 2026? Desde 1º de outubro de 2026, a Meta cobra a mensagem de serviço, que é a resposta dada na janela de 24 horas depois que o cliente escreve. A Meta não publica um preço só para ela: diz que vale a tarifa das mensagens utility e authentication de cada país, sem desconto por volume. No exemplo da própria Meta para o Brasil, são 0,68 centavo de dólar por mensagem entregue. O modelo de IA é cobrado à parte, pelo fornecedor dele. A mensagem que o cliente manda não é cobrada, e a janela de 72 horas aberta por anúncio que leva ao WhatsApp continua sem cobrança. Guias de terceiros falam em 1.000 mensagens de serviço grátis por mês, mas não achei isso na documentação da Meta, então o orçamento é feito sem contar com elas. Valores conferidos na documentação da Meta em 9 de outubro de 2026; confira a tabela atual antes de contratar. - O atendente vai parecer uma máquina? Ele escreve no tom da sua empresa, entende o que o cliente quis dizer e responde curto, como uma pessoa atenta. Natural não quer dizer enganar: eu não configuro o atendente para dizer que é uma pessoa quando o cliente pergunta, e o desenho sempre prevê a passagem para um humano. - Quando a IA passa a conversa para uma pessoa? Eu defino isso com você antes do piloto. Costumam ir para uma pessoa: o pedido do cliente, o assunto delicado (reclamação, dinheiro, urgência), a pergunta que a IA não consegue responder com os dados que existem e a conversa em que o cliente fica irritado. A pessoa certa recebe um aviso com o resumo do que foi dito. - Funciona com o meu CRM? Quando o CRM tem API, sim: o atendente consulta e atualiza o contato direto nele. Se o seu CRM não tem API ou não atende mais a operação, também consigo construir um do zero, como mostra o caso abaixo. - Quanto tempo leva e quanto custa o projeto? O piloto costuma entrar em produção em 2 a 4 semanas. O valor depende do volume de conversas, das integrações e do que o atendente precisa fazer, e eu passo depois do diagnóstico, que é gratuito. A conta do WhatsApp Business é da sua empresa, e os custos de terceiros (mensagens da Meta e modelo de IA) têm estimativa mensal antes de começar. ### Vendas e CRM com IA Página: https://pedroquadro.com/servicos/vendas-e-crm-com-ia Monto o caminho do lead até a venda: captação, qualificação por IA no WhatsApp, entrada no CRM e acompanhamento do time comercial. Quando as ferramentas prontas não servem, construo o CRM sob medida, com os dados de cada cliente isolados. **Para quem:** Times comerciais e donos de negócio que geram lead (anúncio, site, indicação) e perdem venda no meio do caminho: demora para responder, qualificação feita no olho, lead sem dono e dado espalhado em planilha. **Problemas que resolve** - Lead que chega e ninguém responde a tempo. - Qualificação feita no olho, cada vendedor com um critério. - Lead sem dono, ou repassado sem o contexto do que o cliente falou. - Dado espalhado entre planilha, WhatsApp e CRM, sem número confiável de conversão. **O que inclui** - Agente de IA que conversa com o lead no WhatsApp, qualifica e marca reunião ou chama o vendedor. - Pontuação automática do lead e distribuição para o time, com a anotação do que o cliente disse na conversa. - Integração com o seu CRM por API, ou um CRM sob medida: pipeline em Kanban, caixa de entrada do WhatsApp na API oficial e painéis. - Medição ligada à venda: de onde veio o lead e quanto custou cada lead qualificado. **Como funciona** 1. Diagnóstico: uma conversa e um mapeamento do funil. Você sai com a lista de onde a venda escapa. Sem custo e sem compromisso. 2. Piloto em produção: em 2 a 4 semanas, um agente rodando em parte real do funil, com a métrica definida antes de começar. 3. Escala: funcionou? Levo para o resto do funil e para os próximos canais. **Prazo típico:** Piloto de qualificação em 2 a 4 semanas. Um CRM sob medida leva mais e é dividido em fases, combinadas depois do diagnóstico. **Setor:** seguros, marketing, servicos-premium **Perguntas frequentes** - O que é um agente SDR de IA? SDR é quem faz o primeiro contato com o lead e separa quem tem chance de comprar. O agente de IA faz esse trabalho no WhatsApp: responde na hora, pergunta o que importa, registra no CRM e chama o vendedor no momento certo. Quem decide fechar a venda continua sendo uma pessoa. - Que resultado esperar? Depende do funil, e cada projeto começa com a métrica definida antes. Nos projetos que entreguei: 4 vezes mais reuniões agendadas do que o SDR humano no mesmo funil (empresa de serviços premium com operação internacional), 60% menos custo por lead qualificado do que a operação anterior (corretora de seguros) e 70% menos tempo de análise de leads nos primeiros 60 dias (o CRM do caso abaixo). - Preciso trocar o meu CRM? Na maioria dos casos, não. O agente conversa com o CRM que você já usa, quando ele tem API. A troca só faz sentido quando o CRM atual impede o que a operação precisa. Nesse caso eu construo um sob medida, como no caso abaixo. ### Agentes de IA em produção Página: https://pedroquadro.com/servicos/agentes-de-ia-em-producao Coloco agentes de IA para trabalhar em processos reais da empresa: triagem, atendimento, análise de dados e rotinas internas. Uso Claude e outros modelos, n8n e código próprio, com registro de cada decisão, controle de custo e passagem para uma pessoa desde o primeiro dia. **Para quem:** Empresas que já testaram IA no chat e querem algo que rode sozinho dentro do processo, todos os dias, com responsável, custo previsível e histórico do que foi feito. Também founders e CTOs que precisam levar um protótipo até a produção. **Problemas que resolve** - Protótipo de IA que funciona na demonstração e quebra com cliente de verdade. - Custo de modelo que ninguém acompanha e só aparece na fatura. - Agente que decide sem deixar rastro, e ninguém sabe por que fez o que fez. - Tarefa manual que consome a semana da equipe e nunca entra na fila de prioridades. **O que inclui** - Agente desenhado para um processo específico, com as ferramentas e os limites do que ele pode fazer. - Orquestração em n8n ou em código (TypeScript e Python), conforme o caso. - Registro de cada conversa e decisão, e medição do custo por tarefa. - Regra de passagem para uma pessoa e alerta quando algo foge do normal. - Memória e consulta aos dados da empresa quando o processo precisa (banco de dados e busca por significado). **Como funciona** 1. Diagnóstico: uma conversa para escolher o processo que mais consome horas. Sem custo e sem compromisso. 2. Piloto em produção: em 2 a 4 semanas, um agente rodando em um processo real, com a métrica definida antes de começar. 3. Escala: funcionou? Replico para os próximos processos. A operação cresce, o time não precisa dobrar. **Prazo típico:** Piloto em produção em 2 a 4 semanas, em um processo real e com a métrica definida antes de começar. **Setor:** hospitalidade, seguros, gastronomia, marketing, eventos **Perguntas frequentes** - Que modelos de IA você usa? O que couber no problema e no custo. Já usei Claude, OpenAI e Gemini, orquestrados com n8n e código em TypeScript e Python. O modelo é uma peça que dá para trocar: o agente é desenhado para não ficar preso a um fornecedor. - Como impedir que o agente faça algo errado? Limito o que ele consegue fazer, dando só as ferramentas que o processo precisa. Registro cada decisão, deixo uma pessoa no circuito nos casos de risco e começo com volume pequeno antes de abrir para todos. - Por onde começar? Por um diagnóstico gratuito, de uma conversa, para escolher o processo que mais consome horas. Depois vem um piloto de 2 a 4 semanas com a métrica definida antes. Se funcionar, levamos para os próximos processos. ### Automação e IA para escritórios de advocacia Página: https://pedroquadro.com/servicos/automacao-para-advocacia Construo sistemas sob medida para escritório de advocacia: o sistema lê as intimações do DJEN pelo número da OAB, propõe os prazos para o advogado aprovar, avisa no WhatsApp e atende o cliente com um assistente virtual. O advogado continua decidindo e revisando tudo. **Para quem:** Advogado solo ou escritório pequeno e médio que cuida de dezenas ou centenas de processos, recebe muita intimação, responde cliente no WhatsApp o dia todo e quer gastar menos tempo com triagem e controle de prazo. Também serve a quem já usa um software de prazos e quer o WhatsApp e o cadastro do cliente no mesmo lugar. **Problemas que resolve** - Prazo perdido porque a intimação ficou escondida entre dezenas de publicações por semana. - Horas lendo o diário e copiando datas para a agenda. - Cliente que escreve “e meu processo?” e espera horas por uma resposta que já está no cadastro. - Medo de colocar IA no escritório e ela inventar um julgado ou dizer ao cliente o que só o advogado pode dizer. - Planilha de prazos sem histórico, em que ninguém sabe quem mudou o quê. **O que inclui** - Coleta diária das intimações no DJEN, o diário eletrônico nacional da Justiça, filtrada pelo número da OAB. Quando o escritório autoriza, também lê os e-mails dos tribunais. - Leitura do texto por IA: número do processo, tipo do ato, data de audiência e prazo citado. - Cadastro único de clientes, processos, prazos e audiências, com histórico de quem mudou o quê. - Motor de prazos escrito em código testado: ele propõe o vencimento e mostra a conta aberta. O advogado aprova com um toque. - Alerta de prazo no WhatsApp do advogado 48 horas e 24 horas antes, e evento na agenda do Google. - Atendimento no WhatsApp em três níveis. Verde: responde com dado do cadastro. Amarelo: a IA escreve um rascunho e o advogado aprova antes de sair. Vermelho: não responde sobre o caso, avisa que o advogado retorna e notifica o advogado. - Rascunho de peças a partir dos modelos do próprio escritório. A citação de julgado só entra com número e link da fonte oficial, e tudo sai para revisão. - Painel enxuto, com fila de aprovação para prazos e respostas. **Como funciona** 1. Diagnóstico gratuito: de onde chegam as intimações hoje, quantos processos existem, quem confere o prazo e que sistemas o escritório já usa. 2. Proposta por escrito, em fases, cada uma com entrega e critério de aceite combinados antes de começar. A divisão que costumo propor está nos três passos seguintes. 3. Fase 1, prazos e atendimento: coleta pelo DJEN, cadastro, prazo proposto com aprovação, alertas, agenda e consulta de andamento pelo WhatsApp. 4. Fase 2, respostas e clientes: rascunhos que o advogado aprova, repasse para humano, ficha e pasta do cliente novo. 5. Fase 3, peças: minutas nos modelos do escritório, com os autos como base e jurisprudência com link oficial. 6. Operação: o WhatsApp Business e o Google ficam no nome do escritório, o servidor é exclusivo dele, e no fim do contrato ele recebe o código, os dados e o servidor migrado. **Prazo típico:** Um primeiro piloto em produção em 2 a 4 semanas depois do diagnóstico, num recorte combinado (por exemplo, a coleta das intimações e os alertas de prazo). O sistema completo é entregue em fases, e o prazo total depende do escopo e da liberação dos acessos pelo escritório. **Setor:** advocacia **Perguntas frequentes** - A IA pode citar jurisprudência inventada? Se for deixada sozinha, pode errar. Por isso o sistema só cita julgado que foi recuperado de uma fonte oficial, e a citação entra na peça com o link. Citação sem link que se possa conferir não entra. Todo rascunho passa pela revisão do advogado antes de sair. A imprensa jurídica já noticiou multas a advogados por citar precedente que não existia, com aviso à OAB. Quem responde por isso é o advogado, e o sistema é desenhado para ajudá-lo a conferir. - A OAB permite atendimento com IA? A recomendação do Conselho Federal da OAB sobre IA generativa, de 2024, não trata o atendimento com IA como proibido. Ela pede três coisas do chatbot: que não faça atividade privativa da advocacia, que informe com transparência que é uma máquina e que o cliente possa falar com uma pessoa quando pedir. É uma recomendação, sem sanção própria, e o que vale para o seu escritório é com a OAB e com o seu advogado. Eu monto o sistema em torno desses pontos: a primeira mensagem de cada conversa avisa que é o atendimento automatizado do escritório, o assistente nunca nega ser uma IA quando perguntado, o advogado aprova o que é sobre o caso e o cliente pode pedir uma pessoa a qualquer momento. - A IA calcula o prazo sozinha? Não. O sistema propõe o prazo e mostra a conta aberta: data de disponibilização, de publicação, de início, os dias contados e os feriados considerados. O advogado aprova com um toque. A contagem tem pontos que só uma pessoa confere: feriado municipal, portaria de suspensão do tribunal, prazo em dobro e a diferença entre juizado e vara comum. Por isso o prazo nunca é automático. - De onde vêm as intimações? Do DJEN, o Diário de Justiça Eletrônico Nacional, que é o canal oficial de intimação da advocacia criado pelo CNJ. A consulta pública não pede senha e aceita filtro pelo número da OAB. Prefiro o número da OAB ao nome, porque o nome pode sair com acento mal gravado e a busca perde comunicações. O DJEN reúne tribunais estaduais, do trabalho e federais. Antes de começar, confiro a cobertura de cada tribunal com os processos reais do escritório. - Posso puxar jurisprudência do Jusbrasil? Não por automação. Os termos de uso do Jusbrasil proíbem acesso automatizado, raspagem de conteúdo e acesso por API não autorizada. A busca de jurisprudência usa os sites dos tribunais e o acervo do próprio escritório, e a peça cita só o que tem número e link para o advogado conferir. Cada fonte é lida quanto ao termo de uso antes de entrar. - Os dados dos meus clientes ficam seguros? A conta do WhatsApp Business e o Google ficam no nome do escritório, e o servidor é exclusivo dele, com backup diário criptografado. Pela LGPD, o escritório é o controlador dos dados e eu sou o operador. Reduzo o que vai para o modelo de IA (por exemplo, trocando nome e CPF por códigos) e escolho um fornecedor que permita não usar o conteúdo do escritório para treinar o modelo. No fim do contrato, o escritório recebe o código, os dados e o servidor migrado. ## Casos ### CRM sob medida para uma startup, feito sozinho e em produção Página: https://pedroquadro.com/casos/crm-multi-tenant **Setor:** Startup, operação comercial **Contexto:** Uma startup precisava de um sistema para a operação comercial inteira: vendas, notificações, clientes e distribuição de leads. Fui o único desenvolvedor da empresa e construí o CRM do banco de dados à tela. **Problema:** A análise de cada lead tomava tempo demais, e os leads precisavam chegar ao time certo com o contexto do que o cliente tinha dito na conversa. O sistema também atendia mais de uma empresa cliente, e os dados de cada uma não podiam se misturar. **Solução:** Um CRM multi-tenant: cada empresa cliente tem seus dados isolados no próprio banco de dados, com regra de acesso por cliente (row level security). Tem login e permissões, pipeline de vendas em Kanban, caixa de entrada do WhatsApp na API oficial da Meta e painéis. Os leads são qualificados e pontuados automaticamente com IA e distribuídos ao time, com a anotação do que o cliente falou na conversa. **Resultados** - 70% menos tempo de análise de leads, medido nos primeiros 60 dias. - Em produção, com clientes ativos. A empresa inteira usava o sistema no dia a dia. - Construído por uma pessoa só, do banco de dados à interface. **Stack:** TypeScript, React, Supabase, OpenAI, n8n, WhatsApp Cloud API ## Artigos - [Blog](https://pedroquadro.com/blog) - [CRM pronto ou CRM sob medida com WhatsApp: quando vale construir?](https://pedroquadro.com/blog/crm-pronto-ou-sob-medida-whatsapp): 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. (2026-10-10) - [Quanto custa um agente de IA de pré-vendas no WhatsApp em 2026?](https://pedroquadro.com/blog/quanto-custa-agente-ia-pre-vendas-whatsapp): 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. (2026-10-10) - [Por que a página com 3D cai de 60 para 37 fps no notebook?](https://pedroquadro.com/blog/threejs-canvastexture-fps-willreadfrequently): 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. (2026-10-10) - [Intimações do DJEN pela OAB, três armadilhas que dão resultado errado sem avisar](https://pedroquadro.com/blog/djen-intimacoes-por-oab-armadilhas): 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. (2026-10-09) - [Por que a IA inventa jurisprudência com cara de real e como impedir isso numa minuta](https://pedroquadro.com/blog/ia-jurisprudencia-inventada-como-impedir): 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. (2026-10-09) - [Dá para automatizar a busca no Jusbrasil? O que os termos dizem e onde buscar na fonte oficial](https://pedroquadro.com/blog/jusbrasil-automacao-fontes-oficiais): Os termos do Jusbrasil vedam acesso automatizado, scrapers e API não autorizada. Onde buscar jurisprudência e publicações na fonte oficial. (2026-10-09) - [O que a OAB recomenda sobre atendimento com IA e como isso vira desenho de sistema](https://pedroquadro.com/blog/oab-atendimento-com-ia-recomendacoes): 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. (2026-10-09) - [API oficial ou não oficial do WhatsApp para atendimento com IA: o que muda?](https://pedroquadro.com/blog/whatsapp-api-oficial-ou-nao-oficial): 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. (2026-10-09) - [O que o WhatsApp Business passou a cobrar em outubro de 2026?](https://pedroquadro.com/blog/whatsapp-business-cobranca-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. (2026-10-09) - [Android vai bloquear app fora da Play Store? A verificação de desenvolvedor de 2026 e o PWA](https://pedroquadro.com/blog/android-verificacao-desenvolvedor-2026-apk-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. (2026-10-08) - [O que significa o erro 131049 do WhatsApp quando o template de marketing não é entregue?](https://pedroquadro.com/blog/whatsapp-erro-131049-template-marketing): 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. (2026-09-28) - [Como testar um chatbot com LLM sem a prova mentir?](https://pedroquadro.com/blog/testar-chatbot-llm-prova-que-nao-mente): 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. (2026-09-22) - [Três consultas SQL que perdem linha ou rodam por linha sem dar erro (LIMIT, NOT EXISTS, função VOLATILE)](https://pedroquadro.com/blog/sql-consultas-que-perdem-linha-sem-erro): 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. (2026-09-15) - [Por que o lead fica sem resposta no Chatwoot com n8n? O webhook que nunca virou execução](https://pedroquadro.com/blog/chatwoot-n8n-lead-sem-resposta-webhook): 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. (2026-09-14) - [Por que o Supabase devolve só 1.000 linhas e não avisa? (max rows do PostgREST)](https://pedroquadro.com/blog/supabase-mil-linhas-max-rows): 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. (2026-09-10) - [Por que o primeiro pagamento real achou bugs que quase mil testes não viram?](https://pedroquadro.com/blog/primeiro-pagamento-real-bugs-que-testes-nao-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. (2026-09-08) - [Servidor em UTC e navegador no Brasil: por que a data aparece errada por um dia?](https://pedroquadro.com/blog/data-um-dia-errado-servidor-utc-hidratacao): 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. (2026-09-02) - [Por que o agente de IA esquece a regra do prompt no meio da conversa?](https://pedroquadro.com/blog/agente-ia-esquece-regra-prompt-conversa-longa): 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. (2026-09-01) - [Conversions API conectada, mas a Meta pede "Connect your CRM": o que falta?](https://pedroquadro.com/blog/meta-conversions-api-crm-connect-your-crm): 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. (2026-08-27) - [n8n Community: o que a licença grátis libera, e posso vender fluxo para cliente?](https://pedroquadro.com/blog/n8n-community-licenca-gratis-vender-fluxo-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. (2026-08-25) - [Por que o iPhone dá zoom na página quando toco num campo do formulário?](https://pedroquadro.com/blog/zoom-ios-campo-formulario-16px): 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. (2026-08-25) - [Por que o webhook do RD Station chega sem funnel_stage, e o lead do formulário da Meta some?](https://pedroquadro.com/blog/rd-station-webhook-lead-sem-etapa-funil): 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. (2026-08-19) - [Por que reenviar uma requisição de criação com upsert faz o status voltar atrás?](https://pedroquadro.com/blog/upsert-reenvio-regride-status): 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. (2026-08-18) - [Como reprocessar em massa sem duplicar? O que é seguro repetir (retry e idempotência)](https://pedroquadro.com/blog/retry-em-massa-sem-duplicar): 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. (2026-08-17) - [Como dar memória a agentes de IA que funcione com qualquer modelo?](https://pedroquadro.com/blog/memoria-para-agentes-de-ia-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. (2026-08-16) - [RLS no Supabase sem GRANT: por que a tela fica vazia e não dá erro?](https://pedroquadro.com/blog/rls-supabase-sem-grant-tela-vazia): 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. (2026-08-12) - [Por que a conversão offline do Google Ads não aparece? CONVERSION_PRECEDES_EVENT e EXPIRED_EVENT](https://pedroquadro.com/blog/google-ads-conversao-offline-zerada-erros): 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. (2026-08-09) - [Refresh token rotativo: como detectar quando um token antigo é reutilizado?](https://pedroquadro.com/blog/refresh-token-rotativo-deteccao-de-reuso): 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. (2026-08-02) - [Rate limit atrás de proxy: por que bloqueou todo mundo de uma vez?](https://pedroquadro.com/blog/rate-limit-atras-de-proxy-bloqueou-todo-mundo): 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. (2026-07-29) - [Como mover um negócio de funil pela API do Bitrix24 e extrair a conversa do Open Lines?](https://pedroquadro.com/blog/bitrix24-api-mover-funil-conversa-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. (2026-07-21) - [Por que o contato do WhatsApp não bate com o CRM? O caso do nono dígito](https://pedroquadro.com/blog/whatsapp-nono-digito-contato-nao-bate): 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. (2026-07-06) - [Por que a Meta entrega o mesmo evento duas vezes e o seu sistema responde em dobro?](https://pedroquadro.com/blog/webhook-duplicado-meta-resposta-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. (2026-07-04) - [Dá para publicar Reels e Story no Instagram pela API sem App Review?](https://pedroquadro.com/blog/instagram-api-publicar-reels-story-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. (2026-06-29) - [Make: por que o gatilho de Facebook Lead Ads dispara para todos os formulários da página?](https://pedroquadro.com/blog/make-facebook-lead-ads-todos-formularios): 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. (2026-06-21) - [Por que a API do WhatsApp responde 200 com wamid e o PDF ou a mídia não chega?](https://pedroquadro.com/blog/whatsapp-api-midia-nao-chega-200-wamid): 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. (2026-06-14) ## API pública Somente leitura, JSON, CORS aberto, sem dado de cliente. Aceita ?lang=pt|en. - [/api/v1/perfil](https://pedroquadro.com/api/v1/perfil): Quem é, onde atua, idiomas, serviços e contato - [/api/v1/servicos](https://pedroquadro.com/api/v1/servicos): Serviços, para quem são e prazo típico - [/api/v1/casos](https://pedroquadro.com/api/v1/casos): Casos anonimizados, com resultado - [/api/v1/disponibilidade](https://pedroquadro.com/api/v1/disponibilidade): Se está aceitando projeto agora - [/api/v1/encaixe?setor=&necessidade=](https://pedroquadro.com/api/v1/encaixe?setor=&necessidade=): Serviços e casos de um setor (parâmetros opcionais) - [/api/v1/openapi.json](https://pedroquadro.com/api/v1/openapi.json): Documentação OpenAPI 3.1 da API ## English > I build apps, systems and SaaS, dashboards, AI agents, automation and integrations, from the database to the screen, with the system running in production. ### Facts - Role: End-to-end software and AI engineer - Location: Brazil, Brasília time (UTC-3). Remote work. - Languages: Native Portuguese. English for meetings and documentation. - Sectors served: Hospitality; Insurance; Gastronomy; Marketing; Events and entertainment - Availability: Accepting new projects. Availability and start date are agreed in the first conversation. - Contact: WhatsApp https://wa.me/5531989206776; e-mail pluspedrohenrique@gmail.com; LinkedIn https://www.linkedin.com/in/pedrohenriquequadro; GitHub https://github.com/PedroHenrique0713 - Updated on: 2026-10-10 - Page: https://pedroquadro.com/en/facts How he works: I came from marketing and data analysis before I started programming. So I start from the business problem and write the code to solve it, never the other way around. **Numbers** - 30+ projects delivered - 2-4 weeks to a pilot in production - 5 sectors served - 10 contributions merged in open source, across 3 organizations - 18 open source contributions open for review **Results measured in projects (client identified by sector only)** - 70% less time analyzing leads. Custom CRM for a startup, measured over the first 60 days. - 4x more meetings booked than the human SDR. AI qualification agent for high-value clients, in the same funnel. - 60% lower cost per qualified lead. WhatsApp qualification agent for an insurance operation, compared with the previous operation. - 40% more reservation conversions. AI service and reservations on WhatsApp for gastronomy, in the first quarter. **What can be checked (public links)** - Realtime fix: broadcast header fields encoded as UTF-8 (supabase/supabase-js #2516, 2026-07-13): https://github.com/supabase/supabase-js/pull/2516 - Functions fix: response Content-Type matched case-insensitively (supabase/supabase-js #2515, 2026-07-21): https://github.com/supabase/supabase-js/pull/2515 - Docs: Apple Services ID order for web sign-in (supabase/supabase #47707, 2026-07-16): https://github.com/supabase/supabase/pull/47707 - Node.js client: BigInt values accepted in intColumn() (questdb/nodejs-questdb-client #63, 2026-09-18): https://github.com/questdb/nodejs-questdb-client/pull/63 - Docs: TTL on materialized views (questdb/documentation #482, 2026-08-03): https://github.com/questdb/documentation/pull/482 - Docs: the query.timeout key (questdb/documentation #483, 2026-08-04): https://github.com/questdb/documentation/pull/483 - Docs: Parquet and CSV download in the Result Grid (questdb/documentation #484, 2026-08-03): https://github.com/questdb/documentation/pull/484 - DigitalOcean plugin: snapshot tasks and volume CreateSnapshot (kestra-io/plugin-digitalocean #17, 2026-10-09): https://github.com/kestra-io/plugin-digitalocean/pull/17 - DigitalOcean plugin: balance, billing history and invoice tasks (kestra-io/plugin-digitalocean #18, 2026-10-09): https://github.com/kestra-io/plugin-digitalocean/pull/18 - Blueprint: CRM lead conversions through the Meta Conversions API (kestra-io/blueprints #549, 2026-10-06): https://github.com/kestra-io/blueprints/pull/549 - brain-template: persistent, versioned memory for working with AI (PedroHenrique0713/brain-template): https://github.com/PedroHenrique0713/brain-template - claude-dongle: Claude Code rate-limit monitor (PedroHenrique0713/claude-dongle): https://github.com/PedroHenrique0713/claude-dongle **Background** - 2020-2024: Marketing and paid media, self-employed. - 2024-2025: Data and BI at a relationship app operating in Portugal: dashboards, databases and forecasting models. - 2025-2026: Full-stack Developer at a startup in Rio de Janeiro, as the only developer: a multi-tenant CRM from the database to the screen. - 2026-: AI Engineer: AI agents, integrations and product engineering. **Technologies** - Front end: TypeScript, JavaScript, React, Next.js, Vite, Tailwind CSS, Three.js, GSAP, Figma - Mobile and desktop: Flutter, Dart, notificações push, App Store, Google Play, extensões do Chrome, PyQt6 - Back end: Node.js, Express, Python, FastAPI, Deno, Edge Functions, Java, APIs REST, webhooks - Databases: PostgreSQL, SQL, Supabase, MongoDB, Redis, pgvector, QuestDB - Auth and security: RLS, JWT, OAuth 2.0, OpenID Connect, rotação de refresh token, lock de linha - AI: Claude API, OpenAI API, Gemini API, Vertex AI, OpenRouter, RAG, embeddings, function calling, LangChain, evals, MCP, Claude Code - Automation and integrations: n8n, Make, WhatsApp Cloud API, Evolution API, Instagram API, Meta Conversions API, Meta Lead Ads, Google Ads API, Bitrix24, RD Station, Chatwoot, HeyReach, Apify, Telegram Bot API, Mercado Pago, Resend - Infra and quality: Docker, Linux, VPS, Easypanel, GitHub Actions, CI/CD, Playwright, Git, Turborepo - Data and growth: painéis, GA4, Google Tag Manager, Search Console API, modelos de previsão, teste A/B, Meta Ads, Google Ads **How to hire** 1. Message me on WhatsApp and tell me, in a few lines, what takes your team time today. 2. Diagnosis: one conversation to map the processes and define the success metric. No cost, no commitment. 3. A written proposal with what is included, the timeline and the price, and a contract with the agreed terms. 4. Pilot in production in 2 to 4 weeks, with the metric defined before we start. 5. Scale: if it worked, I take it to the next processes. ### Services #### Apps for iPhone and Android Page: https://pedroquadro.com/en/services/apps I build the app for iPhone and Android with Flutter, one codebase for both stores, and the server behind it: login, payments, notifications and an API. I have already published a workout app on the App Store and Google Play. **Who it is for:** Companies and founders who want an app of their own, not just a website: for customers to use on their phones, for a team in the field or as a new product. It also fits anyone who already has a prototype and needs to get it into the stores. **Problems it solves** - Two teams and two codebases, one for iPhone and one for Android, and double the cost to maintain. - An app that looks good in the demo but has no server behind it: no secure login, no billing, no notifications for the user. - Fear of the store publishing process, with its rules, reviews and change requests. - A date, a time or a value that shows up wrong on the phone of someone in another time zone or using another browser. **What is included** - An app in Flutter for iPhone and Android, from a single codebase. - The app's server and API, with login, permissions and each user's data kept apart. - Billing and payments inside the app, when the product needs them. - Push notifications that tell the user what matters. - Publishing on the App Store and Google Play, with the developer account in your company name. - A simple web panel for your team to manage users and content, when it makes sense. **How it works** 1. Diagnosis: one conversation to understand who will use the app, what it must do on day one and what can wait. No cost, no commitment. 2. A written proposal split into parts, each with a deliverable and acceptance criteria agreed before we start. 3. Building in weekly deliveries: you install the test version on your own phone and watch the app grow, instead of waiting for the end. 4. Publishing and follow-up: submission to the stores, answers to the reviews and fixes for whatever shows up in the first weeks of use. **Typical timeline:** The proposal gives the timeline for each part, and deliveries are weekly. The total timeline depends on the scope and on the stores' review time. **Frequently asked questions** - Why Flutter and not two separate apps? With Flutter, the same code runs on iPhone and Android. That lowers the cost of building and, above all, of maintaining: one fix applies to both. When the app needs something very specific to one system, that part can be written separately. For most company products, a single codebase does the job well. - Have you published an app in the stores before? Yes. I published a workout app on the App Store and Google Play, with the server it uses. The experience of going through the stores' review goes into your project plan, so the timeline holds no surprises. - How much does it cost and how long does it take? It depends on what the app does. After the diagnosis, which is free, I send a written proposal with the timeline and price of each part, and deliveries are weekly. The store and developer account fees belong to your company, and I tell you what they are before we start. - Do the code and the store accounts stay with me? Yes. The developer account is in your company name, and the code and the server are handed over to you at the end of the project. You do not depend on me to keep the app running. #### Custom systems, CRM and SaaS Page: https://pedroquadro.com/en/services/systems-and-saas I build CRMs, customer portals, internal systems and SaaS, from the database to the screen. When the product serves several companies, each one has its data isolated in the database itself, with row-level security in Postgres. I built a CRM like that on my own, and analyzing each lead became 70% faster over the first 60 days. **Who it is for:** Companies whose operation has outgrown what spreadsheets and off-the-shelf tools can handle, and founders who need a web product with login, permissions and billing. It also fits anyone with a half-built system who needs someone to take it to production safely. **Problems it solves** - An off-the-shelf tool that does not fit the process, so the team works around it with spreadsheets. - A product that serves several companies and cannot let one company's data show up for another. - An empty screen with no error at all, because the database access rule blocked the query silently. - A system that passes every test and breaks on the first real payment or the first real customer. - Login and sessions built in a hurry, with no protection against stolen tokens or too many attempts. **What is included** - A complete web system: interface, business rules and a Postgres database. - Login, role-based permissions and secure sessions, with protection against token reuse and too many attempts. - Isolation of each company's data with row-level security, when the system serves several companies. - Billing and subscriptions, when the product charges users, tested with a real payment before it goes live. - Integration with WhatsApp, email, ERP and the tools the operation already uses. - Dashboards for the team to follow the operation and the numbers. **How it works** 1. Diagnosis: one conversation to map the process, who uses the system and what hurts today. No cost, no commitment. 2. A written proposal, in parts, each with a deliverable and acceptance criteria agreed before we start. 3. Building in weekly deliveries, with the system live early so your team can use it and correct course. 4. Going live and follow-up: first with a few users, then with everyone, checking what real use shows. **Typical timeline:** The proposal gives the timeline for each part, and deliveries are weekly. A complete system is split into phases, agreed after the diagnosis. **Sector:** marketing, seguros, servicos-premium **Frequently asked questions** - What is a multi-tenant system? It is a single system that serves several companies, each seeing only its own data. In Postgres, this is enforced in the database itself with row-level security: the access rule lives in the base, not just on the screen. That way, an interface mistake cannot leak one company's data to another. - Have you built a system like this before? Yes. I was the only developer at a startup and built the company CRM from the database to the screen: multi-tenant, with login, a Kanban pipeline, a WhatsApp inbox and dashboards, in production with active customers. Lead analysis took 70% less time over the first 60 days. The case is right below. - Do I need to replace the system I already use? Not always. If your current tool does the job, I integrate with it. Replacing it or building a new system only pays off when what exists blocks what the operation needs. I say so plainly in the diagnosis. - How much does it cost and how long does it take? It depends on the scope. After the diagnosis, which is free, I send a written proposal with the timeline and price of each part, and deliveries are weekly. The code and the database are yours, and I hand everything over at the end. #### Dashboards and data Page: https://pedroquadro.com/en/services/dashboards-and-data I build dashboards that bring your database, spreadsheets, CRM and ads into one place, update on their own and warn you when a number drifts from normal. I started my career in data and BI, with dashboards and forecasting models. **Who it is for:** Companies that decide by looking at hand-copied spreadsheets, numbers that do not match between tools and reports that arrive late. It fits managers, sales and marketing teams who need a reliable number without asking someone to put it together. **Problems it solves** - A report assembled by hand every week that is already out of date when it is done. - The CRM says one number, the ads say another and the spreadsheet says a third. - A forecast that gives a bigger number than the real one because the average is calculated wrong. - A dashboard that shows only part of the data because the database cuts the query without warning. - A contact that exists in both systems and is not recognized as the same person. **What is included** - A web dashboard with the numbers your operation follows, on a single screen. - Connection to the sources: database, spreadsheets, CRM and ad platforms. - Automatic updates, with nobody copying and pasting. - An alert when a number drifts from normal, on WhatsApp, email or the team's chat. - A written definition of each metric (what goes in, what stays out, how it is calculated), so everyone reads the same number. - Checking the dashboard's numbers against the source before handing over. **How it works** 1. Diagnosis: one conversation to learn which decisions the dashboard must support and where the data comes from today. No cost, no commitment. 2. Metric definitions: I write down with you what each number means before designing any screen. 3. Building in weekly deliveries, checking each number against the source. 4. Alerts and follow-up: I turn on the warnings and adjust the thresholds with real use. **Typical timeline:** The proposal gives the timeline for each part, and deliveries are weekly. A first dashboard with the main sources is usually the first part agreed. **Sector:** marketing **Frequently asked questions** - Which data sources can the dashboard combine? Databases, spreadsheets, CRMs, ad platforms and anything else with an API or an export. Before promising anything, I check how each source delivers its data and whether it arrives complete. - How does the dashboard warn that something is wrong? Together we define what is normal for each number and the threshold at which a warning is worth sending. When a number crosses it, the dashboard messages whoever needs to act, with the data that caused the alert. The thresholds are tuned in the first weeks, with real use. - Do you have experience with data? Yes. I started in marketing and data analysis, with dashboards, databases and forecasting models, and only then moved into software engineering. That is why I start from the decision the number has to support, not from the chart. - How much does it cost and how long does it take? It depends on how many sources and metrics are involved. After the diagnosis, which is free, I send a written proposal with the timeline and price of each part, and deliveries are weekly. #### Automation and integrations Page: https://pedroquadro.com/en/services/automation-and-integrations I connect the company's systems so work passes from one to the next without anyone typing: the sale on the website becomes an order in the ERP, and billing and messages go out on their own. The integrations do not duplicate (idempotency, queues and reprocessing) and warn you when a flow stops. The pilot usually goes live in 2 to 4 weeks. **Who it is for:** Companies where someone copies data from one system to another every day, and the errors and delays already cost sales. It fits operations that grew with several disconnected tools, and anyone with an automation that duplicates, forgets or stops without anyone noticing. **Problems it solves** - A sale made on the website that somebody retypes into the ERP, with delays and typos. - An integration that creates the same order or sends the same message twice because the notice arrived repeated. - A flow that stopped days ago and was only discovered when a customer complained. - Reprocessing data after a failure and fearing to charge or notify the customer twice. - Billing, invoices and messages that depend on one person remembering to do them. **What is included** - Integration between your systems (website, ERP, CRM, billing, WhatsApp, spreadsheets), by API or webhook. - Protection against duplicates: the same event, even when received twice, is processed only once. - Queues and retries for what fails, with safe reprocessing after an outage. - An alert when a flow stops or fails, with a record of what happened. - A record of each run, to check what came in, what went out and when. - Documentation of the flow in plain language, so your team can understand and maintain it. **How it works** 1. Diagnosis: one conversation to map what gets copied by hand today, how much time it takes and what happens when it goes wrong. No cost, no commitment. 2. Design: I define what triggers the flow, what counts as a repeat and what happens on each failure, before writing any code. 3. Pilot in production: in 2 to 4 weeks, a real flow running, with the execution log and alerts turned on. 4. Scale: with the pilot measured, I bring the same care to the next flows. **Typical timeline:** Pilot in production 2 to 4 weeks after the diagnosis, on one real flow. The timeline changes with the number of systems and with how soon the accesses are released. **Sector:** hospitalidade, seguros, gastronomia, marketing, eventos **Frequently asked questions** - How do you stop an integration from duplicating an order or a message? Each event received carries a key that identifies it, and the system records which keys were already processed. If the same notice arrives again, it is recognized and ignored. That is idempotency: repeating the operation gives the same result as doing it once. Platforms such as Meta deliver the same event more than once, so this protection is not optional. - What if the flow goes down halfway? What failed goes to a queue and is tried again, and the system records where it stopped. After an outage, reprocessing is safe, because only what is safe to repeat is repeated and the rest goes through a check. When the flow stops for good, you get an alert instead of finding out from a customer complaint. - Do you use n8n or code? Both, depending on the case. For simple flows that your team will edit, n8n is usually enough. For high volume, complex rules or a critical integration, I write code (TypeScript or Python), with tests. I explain the choice in the proposal. - How much does it cost and how long does it take? The pilot usually goes live in 2 to 4 weeks. The price depends on the systems involved and the volume, and I quote it after the diagnosis, which is free. Third-party costs (platforms, APIs) get a monthly estimate before we start. #### AI customer support on WhatsApp Page: https://pedroquadro.com/en/services/ai-whatsapp-support I build AI support agents for your company's WhatsApp, on Meta's official API. They answer customers and leads at any hour, use the data in your CRM and hand over to a person when the topic calls for it. The pilot usually goes live in 2 to 4 weeks. **Who it is for:** Companies that sell or support customers on WhatsApp and answer everything by hand, or with a menu bot ("press 1, press 2") that customers give up on. It fits sales teams that lose leads outside business hours, and operations that are growing and do not want to hire more people just to answer messages. **Problems it solves** - A lead who writes at night or on the weekend and goes cold before anyone answers. - A team that spends the day answering the same questions. - A menu bot that customers abandon before anything gets solved. - Double replies, repeated messages or contacts that do not match the CRM: common WhatsApp integration failures. - Fear that the AI says something it should not and nobody notices. **What is included** - An AI agent talking on WhatsApp through Meta's official API, in your company's tone of voice. - A link to your CRM or spreadsheet: it reads and writes the contact data, so nobody types anything twice. - A rule for when to hand over to a person (sensitive subject, customer request, AI in doubt), with a notice to the person in charge. - Protection against duplicate replies when Meta repeats the message notification, and handling of Brazilian phone numbers with and without the ninth digit. - A record of every conversation and of what the agent decided, so you can check whenever you want. - An estimate of the monthly running cost (Meta messages and AI model) before we start. **How it works** 1. Diagnosis: one conversation to map the questions that come in most, where the team loses time and what the agent can and cannot do. No cost, no commitment. 2. Design: I define the tone of voice, the handover rules and the success metric before writing any code. 3. Pilot in production: the agent goes live on a real number with controlled volume. You follow the conversations. 4. Tuning and scale: with the measured result, I fix what went wrong and roll it out to the rest of the operation. **Typical timeline:** Pilot in production 2 to 4 weeks after the diagnosis. The timeline changes if the company's Meta account still needs to be verified. **Sector:** hospitalidade, seguros, gastronomia, marketing, eventos **Frequently asked questions** - Can I use the unofficial WhatsApp API for AI support? I do not recommend it and I do not use it for clients. Tools that connect WhatsApp through the QR code are not from Meta, and WhatsApp's rules list the use of unofficial clients among the prohibited conduct and provide for suspending the account. There is no public number on how many accounts get suspended, but the risk is real, and the company carries it: it can lose the channel where it sells. For a company's operation, I use Meta's official API. - How much does it cost to send messages through the official API in 2026? Since October 1, 2026, Meta charges for service messages, which are the replies sent inside the 24-hour window after the customer writes. Meta does not publish a separate price for them: it says each country's rate is the same as for utility and authentication messages, with no volume discount. In Meta's own example for Brazil, that is 0.68 US cent per delivered message. The AI model is billed separately, by its provider. Messages the customer sends are not charged, and the 72-hour window opened by an ad that leads to WhatsApp is still free. Third-party guides mention 1,000 free service messages a month, but I did not find that in Meta's documentation, so I budget without counting on them. Values checked against Meta's documentation on October 9, 2026; check the current price table before you hire. - Will the agent sound like a robot? It writes in your company's tone, understands what the customer meant and answers briefly, like an attentive person. Natural does not mean deceptive: I do not set the agent up to say it is a person when the customer asks, and the design always includes a handover to a human. - When does the AI hand the conversation to a person? We define this together before the pilot. These usually go to a person: the customer asks for one, a sensitive subject (complaint, money, urgency), a question the AI cannot answer with the data available, and a conversation where the customer gets upset. The right person receives a notice with a summary of what was said. - Does it work with my CRM? When the CRM has an API, yes: the agent reads and updates the contact directly in it. If your CRM has no API or no longer fits the operation, I can also build one from scratch, as the case below shows. - How long does it take and how much does the project cost? The pilot usually goes live in 2 to 4 weeks. The price depends on the volume of conversations, the integrations and what the agent must do, and I quote it after the diagnosis, which is free. The WhatsApp Business account belongs to your company, and third-party costs (Meta messages and AI model) get a monthly estimate before we start. #### Sales and CRM with AI Page: https://pedroquadro.com/en/services/ai-sales-crm I build the path from lead to sale: capture, AI qualification on WhatsApp, entry into the CRM and follow-up by the sales team. When off-the-shelf tools do not fit, I build the CRM to order, with each customer's data kept apart. **Who it is for:** Sales teams and business owners who generate leads (ads, website, referrals) and lose sales along the way: slow replies, qualification done by eye, leads with no owner and data scattered across spreadsheets. **Problems it solves** - A lead arrives and nobody answers in time. - Qualification done by eye, each salesperson with their own criteria. - A lead with no owner, or passed on without the context of what the customer said. - Data scattered across spreadsheets, WhatsApp and the CRM, with no reliable conversion number. **What is included** - An AI agent that talks to the lead on WhatsApp, qualifies it and books a meeting or calls the salesperson. - Automatic lead scoring and distribution to the team, with a note of what the customer said in the conversation. - Integration with your CRM through its API, or a custom CRM: Kanban pipeline, WhatsApp inbox on the official API and dashboards. - Measurement tied to the sale: where each lead came from and what each qualified lead cost. **How it works** 1. Diagnosis: one conversation and a map of the funnel. You leave with a list of where sales slip away. No cost, no commitment. 2. Pilot in production: in 2 to 4 weeks, an agent running on a real part of the funnel, with the metric defined before we start. 3. Scale: did it work? I take it to the rest of the funnel and to the next channels. **Typical timeline:** Qualification pilot in 2 to 4 weeks. A custom CRM takes longer and is split into phases agreed after the diagnosis. **Sector:** seguros, marketing, servicos-premium **Frequently asked questions** - What is an AI SDR agent? An SDR is the person who makes the first contact with a lead and separates who is likely to buy. The AI agent does this work on WhatsApp: it answers right away, asks what matters, logs it in the CRM and calls the salesperson at the right moment. Deciding to close the sale is still up to a person. - What result should I expect? It depends on the funnel, and each project starts with the metric defined beforehand. In projects I delivered: 4 times more meetings booked than the human SDR on the same funnel (a premium services company with international operations), 60% lower cost per qualified lead than the previous operation (an insurance brokerage) and 70% less time spent analyzing leads in the first 60 days (the CRM in the case below). - Do I need to replace my CRM? In most cases, no. The agent talks to the CRM you already use, when it has an API. Replacing it only makes sense when the current CRM blocks what the operation needs. In that case I build a custom one, as in the case below. #### AI agents in production Page: https://pedroquadro.com/en/services/production-ai-agents I put AI agents to work on real company processes: triage, support, data analysis and internal routines. I use Claude and other models, n8n and custom code, with a record of every decision, cost control and handover to a person from day one. **Who it is for:** Companies that already tried AI in a chat window and want something that runs on its own inside the process, every day, with an owner, predictable cost and a history of what was done. Also founders and CTOs who need to take a prototype all the way to production. **Problems it solves** - An AI prototype that works in the demo and breaks with real customers. - Model costs that nobody tracks and only show up on the invoice. - An agent that decides without leaving a trace, and nobody knows why it did what it did. - A manual task that eats the team's week and never makes the priority list. **What is included** - An agent designed for one specific process, with the tools and limits of what it may do. - Orchestration in n8n or in code (TypeScript and Python), depending on the case. - A record of every conversation and decision, and cost measured per task. - A handover rule and an alert when something is out of the ordinary. - Memory and lookup of the company's data when the process needs it (database and semantic search). **How it works** 1. Diagnosis: one conversation to pick the process that eats the most hours. No cost, no commitment. 2. Pilot in production: in 2 to 4 weeks, an agent running on a real process, with the metric defined before we start. 3. Scale: did it work? I replicate it across the next processes. The operation grows, the team does not need to double. **Typical timeline:** Pilot in production in 2 to 4 weeks, on a real process and with the metric defined before we start. **Sector:** hospitalidade, seguros, gastronomia, marketing, eventos **Frequently asked questions** - Which AI models do you use? Whatever fits the problem and the cost. I have used Claude, OpenAI and Gemini, orchestrated with n8n and code in TypeScript and Python. The model is a part you can swap: the agent is designed not to be locked into one vendor. - How do you stop the agent from doing something wrong? I limit what it can do by giving it only the tools the process needs. I record every decision, keep a person in the loop for risky cases and start with small volume before opening it to everyone. - Where do we start? With a free diagnosis, one conversation, to choose the process that eats the most hours. Then comes a pilot of 2 to 4 weeks with the metric defined beforehand. If it works, we take it to the next processes. #### Automation and AI for law firms Page: https://pedroquadro.com/en/services/legal-automation I build custom systems for law firms: the system reads court notices from the DJEN by bar number, proposes deadlines for the lawyer to approve, alerts on WhatsApp and answers clients through a virtual assistant. The lawyer keeps deciding and reviewing everything. **Who it is for:** Solo lawyers and small or mid-size firms that handle dozens or hundreds of cases, receive many court notices, answer clients on WhatsApp all day and want to spend less time on triage and deadline control. It also fits firms that already use deadline software and want WhatsApp and the client record in the same place. **Problems it solves** - A missed deadline because the notice was buried among dozens of publications a week. - Hours spent reading the gazette and copying dates to the calendar. - A client who writes "what about my case?" and waits hours for an answer that is already in the record. - Fear of putting AI in the firm and having it invent a ruling or tell the client what only the lawyer can say. - A deadline spreadsheet with no history, where nobody knows who changed what. **What is included** - Daily collection of court notices from the DJEN, the national electronic gazette of the courts, filtered by the lawyer's bar number. When the firm allows it, it also reads emails from the courts. - AI reading of the text: case number, type of act, hearing date and the deadline mentioned. - A single record of clients, cases, deadlines and hearings, with a history of who changed what. - A deadline engine written in tested code: it proposes the due date and shows the full calculation. The lawyer approves with one tap. - Deadline alerts on the lawyer's WhatsApp 48 and 24 hours before, and an event on the Google calendar. - WhatsApp support in three levels. Green: answers with data from the record. Yellow: the AI writes a draft and the lawyer approves it before it goes out. Red: does not answer about the case, says the lawyer will reply and notifies the lawyer. - Draft pleadings built from the firm's own templates. A citation only goes in with the number and the link to the official source, and everything is sent for review. - A lean dashboard with an approval queue for deadlines and replies. **How it works** 1. Free diagnosis: where notices come from today, how many cases there are, who checks the deadlines and which systems the firm already uses. 2. A written proposal, in phases, each with deliverables and acceptance criteria agreed before we start. The split I usually propose is in the next three steps. 3. Phase 1, deadlines and support: collection from the DJEN, record keeping, proposed deadlines with approval, alerts, calendar and case-status queries on WhatsApp. 4. Phase 2, replies and clients: drafts the lawyer approves, handover to a human, record and folder for a new client. 5. Phase 3, pleadings: drafts in the firm's templates, based on the case file and with case law linked to the official source. 6. Operation: WhatsApp Business and Google stay in the firm's name, the server is dedicated to the firm, and at the end of the contract it receives the code, the data and the migrated server. **Typical timeline:** A first pilot in production 2 to 4 weeks after the diagnosis, on an agreed slice (for example, collecting the court notices and the deadline alerts). The full system is delivered in phases, and the total timeline depends on the scope and on the firm releasing the accesses. **Sector:** advocacia **Frequently asked questions** - Can the AI cite made-up case law? Left alone, it can get things wrong. That is why the system only cites rulings that were retrieved from an official source, and the citation goes into the draft with the link. A citation without a link that can be checked does not go in. Every draft goes through the lawyer's review before it leaves. The legal press has already reported fines on lawyers for citing precedents that did not exist, with notice to the bar association. The lawyer is the one who answers for it, and the system is designed to help them check. - Does the Brazilian bar association allow AI customer support? The Brazilian bar association's national council recommendation on generative AI, from 2024, does not treat AI customer support as forbidden. It asks three things of the chatbot: it must not perform activities reserved to lawyers, it must say transparently that it is a machine, and the client must be able to talk to a person on request. It is a recommendation, with no sanction of its own, and what applies to your firm is a matter for the bar association and your own lawyer. I build the system around those points: the first message of every conversation says it is the firm's automated service, the assistant never denies being an AI when asked, the lawyer approves anything about the case and the client can ask for a person at any time. - Does the AI calculate the deadline by itself? No. The system proposes the deadline and shows the full calculation: availability date, publication date, start date, the days counted and the holidays considered. The lawyer approves with one tap. The count has points that only a person checks: local holidays, court suspension orders, double deadlines and the difference between small-claims courts and regular courts. That is why a deadline is never automatic. - Where do the court notices come from? From the DJEN, the national electronic court gazette, which is the official channel for notifying lawyers, created by the national council of justice (CNJ). The public query asks for no password and accepts a filter by bar number. I prefer the bar number over the name, because a name can be stored with broken accents and the search then misses notices. The DJEN gathers state, labor and federal courts. Before starting, I check the coverage of each court against the firm's real cases. - Can I pull case law from Jusbrasil? Not through a robot. Jusbrasil's terms of use forbid bots, content scraping and unauthorized API access. The case-law search uses the courts' own websites and the firm's own archive, and a draft cites only what has a number and a link for the lawyer to check. Each source's terms of use are read before it is added. - Is my clients' data safe? The WhatsApp Business account and Google stay in the firm's name, and the server is dedicated to the firm, with an encrypted daily backup. Under Brazil's data protection law (LGPD), the firm is the data controller and I am the processor. I reduce what goes to the AI model (for example, swapping names and tax IDs for codes) and choose a provider that lets the firm's content stay out of model training. At the end of the contract, the firm receives the code, the data and the migrated server. ### Cases #### A custom CRM for a startup, built solo and running in production Page: https://pedroquadro.com/en/cases/multi-tenant-crm **Sector:** Startup, sales operations **Context:** A startup needed one system for its whole sales operation: sales, notifications, customers and lead distribution. I was the only developer at the company and built the CRM from the database to the screen. **Problem:** Analyzing each lead took too much time, and leads had to reach the right team with the context of what the customer had said in the conversation. The system also served more than one customer company, and the data of each one could not get mixed up. **Solution:** A multi-tenant CRM: each customer company has its data isolated in the database itself, with access rules per customer (row level security). It has login and permissions, a Kanban sales pipeline, a WhatsApp inbox on Meta's official API and dashboards. Leads are qualified and scored automatically with AI and distributed to the team, with a note of what the customer said in the conversation. **Results** - 70% less time spent analyzing leads, measured over the first 60 days. - In production, with active customers. The whole company used the system every day. - Built by one person, from the database to the interface. **Stack:** TypeScript, React, Supabase, OpenAI, n8n, WhatsApp Cloud API - API: pass ?lang=en to any endpoint, for example https://pedroquadro.com/api/v1/perfil?lang=en