§1O problema
Os documentos de arquivo (certidões, livros paroquiais) são milhares de páginas manuscritas, difíceis de ler e de cruzar. Faltava um jeito de transformar isso em fatos conferidos e navegáveis, cada um ligado à imagem de origem.
§2O que eu construí
- App webÁrvore genealógica, página de pessoas, mapa de lugares e área de revisão (ligada só quando necessário).
- ConversorEtapas por linha de comando: extrair com IA, sintetizar, montar um pacote de dados, gerar as mídias citadas e importar para o banco com troca atômica e backup.
- Roteiro de pesquisaInstruções passo a passo que guiam um agente de IA na pesquisa em documentos antigos (Brasil, Portugal e Espanha): entrevista, uma pasta por família, busca e download de fontes, índice, seleção de páginas, leitura dupla às cegas e reconciliação, análise por grupo e relatórios prontos para o app.
- Regras de qualidadeTodo fato com fonte (pasta e imagem), selos de certeza (documentado, provável, hipótese), homônimos só ligados com dois pontos concordantes, e pessoas vivas só com o que o usuário informar.
§3As partes difíceis
5 itens- 01
Leitura dupla às cegas
Duas leituras independentes da mesma página por IA, depois uma reconciliação, para reduzir erro de leitura de manuscrito.
- 02
Pipeline de extração em paralelo
Com pacote de dados derivado e reproduzível a partir de material parcial e revisões aceitas.
- 03
Conciliação de pessoas repetidas
E regras de conferência de datas e parentescos.
- 04
Mapa e imagens em escala
MapLibre e imagens otimizadas só das páginas citadas, num acervo grande de imagens.
- 05
Importação segura
Troca atômica do banco, nunca sobrescrevendo sem autorização.
§4Resultado
- páginas indexadas
- ~2.300
- páginas com leitura dupla às cegas
- 1.027
- gerações na árvore
- 10
- documento mais antigo
- 1651
Em uso desde outubro de 2026, uma família por instância. No primeiro caso: ~2.300 páginas indexadas, 1.027 páginas com leitura dupla às cegas e árvore de até 10 gerações, com documentos desde 1651 e o antepassado mais antigo nascido em 1663.
§5Stack
- Next.js 16
- React 19
- TypeScript 7
- Tailwind 4
- SQLite (better-sqlite3)
- MapLibre GL
- LLM por linha de comando (OAuth)
- Scripts Python e TypeScript no pipeline
- Design system próprio
- pm2
- Tailscale