02Tenaz
Nenhum cliente fica no vácuo.
Aplicativo que lê as conversas de WhatsApp de quem vende e monta sozinho a lista do que foi prometido, do que esperam de você e do que deixou de valer.
A IA só lê; nunca responde por você. Três rodadas por dia com o Claude, fila no PostgreSQL e conversa antiga guardada em Parquet.
- React Native
- Expo
- Express
- Graphile Worker
- Claude



O problema
Quem vende pelo WhatsApp promete retorno o dia inteiro. No meio de centenas de mensagens, uma promessa esquecida vira um cliente que comprou do concorrente.
O que eu construí
- Aplicativo para Android e iOS, feito em React Native com Expo.
- Conexão com o WhatsApp da pessoa pela Evolution API. A mensagem aparece no app na hora, sem passar por IA.
- Três rodadas por dia, às 8h, 12h e 19h, em que o Claude lê só o que é novo, junto com a memória da conta.
- Cada compromisso vem com a citação da conversa, e a API confere se a citação existe antes de gravar.
- Quando um assunto se encerra, os compromissos ligados a ele são revistos e fechados sozinhos.
- Áudio transcrito pelo Whisper; conversa com mais de 180 dias vai para Parquet num armazenamento barato.
As telas
Prints do sistema de verdade. Clique numa tela para ver em tamanho real.

Pessoas: a carteira por etapa, do contato novo ao negócio fechado.

Resultados: o que saiu do caminho e quanto do prometido foi cumprido.

O que a IA lê: a pessoa escolhe cada conversa que entra na leitura.

Conexão: o estado do WhatsApp e o que já está guardado.

Pareamento por código, no mesmo celular, sem precisar de outro aparelho.
Como funciona
Chega a mensagem
O webhook grava no PostgreSQL e o app já mostra.
Áudio vira texto
O Whisper, rodando no Groq, transcreve os áudios.
A rodada
Três vezes por dia, uma chamada ao Claude por conta, com o que não foi lido, a memória e o estado de cada conversa.
A conferência
A API confere cada citação na conversa certa e só então grava compromissos, assuntos e decisões.
Decisões que importaram
A IA só lê
Por quê: Responder cliente em nome de alguém é um risco que ninguém quer correr. O app avisa; quem responde é a pessoa.
Três rodadas por dia
Por quê: Testado com 14 dias de conversas reais: o mesmo custo de uma leitura diária, com três vezes mais leituras e a espera média caindo de 9 horas para 2,9.
Nicho: quem vende
Por quê: Medido com conversas reais, o app rende mais para quem atende muito cliente no WhatsApp. Funcionalidade nova só entra se ajuda esse público.
O que deu errado
Todo sistema de verdade quebra de algum jeito. Estes foram os tropeços que mais ensinaram, e o que mudou por causa deles.
O teste inventado dizia 88%. O real, 54%
O que aconteceu
Afinei o pedido de um modelo pequeno olhando conversas que eu mesmo inventei. Nas conversas reais, a mesma leitura acertava bem menos, e metade do erro vinha de uma regra que eu tinha escrito só para acertar o teste.
O que mudou
Só afino com conversa real exportada da produção. E aprendi que, em modelo pequeno, acrescentar regra piorou quatro vezes seguidas; o que melhorou foi tirar e reordenar.
A fila parou sem dar erro
O que aconteceu
Uma faxina diária da fila rodou com o processo no ar e apagou os tipos de tarefa que ele tinha guardado na partida. As tarefas novas ficaram paradas, sem erro e sem trava, e as rodadas não aconteceram por um dia e meio.
O que mudou
A faxina de tipos só roda na partida da fila. E aprendi a vigiar a ausência: rodada que não acontece também é falha, mesmo sem mensagem de erro.
O modelo local não passou na régua
O que aconteceu
Testei rodar a leitura num modelo aberto, num Mac em casa, para zerar o custo. Na etapa do funil ele acertou 60,7%, contra 82,1% do Claude Haiku, e inventava total de venda que ninguém tinha dito.
O que mudou
A leitura ficou no Claude. Nenhum modelo entra no produto sem passar antes pela régua de conversas reais.
Onde está hoje
Beta em produção. A publicação na Play Store vem em seguida.