Inteligência de Leilões de Imóveis
Transforma anúncios de leilão espalhados numa base consultável, com o conteúdo da matrícula lido por modelo e a história de preço de cada imóvel preservada — inclusive a dos leilões que já terminaram.
- Papel
- Projeto próprio
- Período
- fevereiro a agosto de 2026
- Estado
- Coleta ativa, painéis locais
- Escala
- 2.841 imóveis, 3 estados
O problema
O anúncio de um leilão não diz se o imóvel merece atenção. O que decide isso está na matrícula — ônus, penhoras, consolidação — que vem como PDF digitalizado, e boa parte dos anúncios chega incompleta, sem valor avaliado, sem área ou sem número de matrícula.
E há uma janela que não reabre: quando o leilão termina, o anúncio simplesmente some do site e não volta. Quem não guardou no dia perdeu para sempre — não existe arquivo público de desfechos.
O que faz
- Coleta os anúncios com um Chrome real dirigido por Playwright, atravessando a proteção anti-robô do portal.
- Reconcilia com o arquivo oficial da Caixa, que passou a ser a fonte primária para os imóveis dela.
- Lê a matrícula em PDF e a transforma em análise de risco estruturada — ônus, sinalizações, consolidação — conferindo a área contra o anúncio.
- Acompanha o ciclo de vida de cada leilão (ativo, fora da listagem, saiu) e guarda a série histórica de preço.
- Serve tudo por uma API que é também o agendador, com painéis de frescor, qualidade, cobertura e movimento de preço.
- Mapa por município e busca conversacional sobre os trechos de matrícula, com banco vetorial.
Como foi construído
Arquitetura Medallion em Python: bronze imutável em disco, silver validado por schema em SQLAlchemy, gold a construir — com três pipelines (coleta, extração de matrícula e re-visita) instrumentados pela mesma telemetria.
A extração da matrícula é feita em duas etapas separadas de propósito — primeiro transcrever o documento com fidelidade, só depois estruturar o texto em JSON de risco — com os prompts versionados e um conjunto de documentos de referência que serve de teste de regressão quando o prompt muda.
Guardar o original bruto antes de entender qualquer coisa
Todo download é gravado em disco com hash sha256, tamanho e timestamp antes de qualquer interpretação. Regravar o mesmo conteúdo não faz nada; conteúdo diferente no mesmo caminho não sobrescreve — levanta erro de integridade e vira uma versão nova. Cada linha da camada tratada aponta de qual arquivo bruto veio, e com qual hash.
A razão está escrita no próprio projeto: reprocessar é barato, recoletar o passado é impossível. Um bug de parser nunca destrói histórico — conserta-se o código e reprocessa-se o bruto. O preço é cerca de 2,4 GB de armazenamento duplicado, a impossibilidade de "limpar" dado feio no lugar, e uma escrita extra em cada passo. O complemento é a quarentena: registro que não passa na validação vai para um canto com o motivo anotado, não entra sujo, não é descartado em silêncio, e como não conta como coletado, é tentado de novo na próxima execução.
Stack
Coleta
Dados
IA e busca
Serviço
Números
Medido diretamente no banco em 29/08/2026, com a coleta indo de 17/02/2026 a 28/08/2026. O número de ativos muda sozinho com o tempo, porque imóvel que sai do leilão continua na base — é justamente esse histórico que o projeto existe para guardar.
Telas