Arquivos
Um corpus privado com mais de 1.000 ensinamentos chega em muitos formatos — Word, PDF, RTF, HTML, imagens digitalizadas, arquivos aninhados.

Sistema privado de conhecimento
Transformando mais de 1.000 arquivos em um sistema de conhecimento pesquisável com IA.
Eu queria reunir textos budistas aos quais sempre voltava — os contos das vidas anteriores do Buda, sutras de arquivos de domínio público e outro material espalhado na web ou guardado em PDFs. Projetei e construí o Dharma Sky: uma biblioteca privada onde esses arquivos podem ser navegados, pesquisados e questionados por meio de uma interface de IA fundamentada no material de origem.
Função: Product Designer · Construtor de produtos de IA
O desafio
O material já existia livremente online ou em arquivos — em formatos e páginas diferentes. Encontrar um artigo ou tema específico, comparar passagens relacionadas ou responder a uma pergunta precisa significava caçar manualmente em um acervo que nenhuma interface humana conseguiria navegar de forma razoável.
Era um problema de arquitetura da informação: como tornar acessível um grande corpo de conhecimento não estruturado sem exigir que alguém lembre nomes de arquivo, datas ou em qual documento estava cada ideia.
A ideia
Em vez de pedir que as pessoas busquem documentos um a um, o Dharma Sky processa o corpus em uma camada de conhecimento indexada — e oferece uma superfície de produto calma para navegação, exploração temática e perguntas fundamentadas.
O sistema
A história central do produto é o pipeline de indexação. Tudo o que a pessoa experimenta — busca, Ask, tópicos — depende do que acontece aqui.
Pipeline de indexação
Um corpus privado com mais de 1.000 ensinamentos chega em muitos formatos — Word, PDF, RTF, HTML, imagens digitalizadas, arquivos aninhados.
Cada arquivo é expandido, o texto é extraído (incluindo OCR para imagens) e o conteúdo é normalizado em texto legível do ensinamento.
O ensinamento é dividido em trechos para recuperação, convertido em embeddings para busca vetorial e também recebe um índice no nível do documento: termos-chave, uma sinopse fiel e um embedding de roteamento.
Uma pergunta primeiro seleciona os ensinamentos mais relevantes e depois busca passagens dentro deles — para que as respostas permaneçam fundamentadas nas fontes certas.
O modelo responde apenas a partir das passagens recuperadas, com citações dos ensinamentos originais — sem inventar conteúdo além da biblioteca.
Segmentação
Os ensinamentos são divididos em unidades de recuperação com sobreposição, dimensionadas para embedding — mantendo o contexto de página quando disponível.
Embeddings
Trechos e índices de documento recebem embeddings para que o significado — e não só palavras-chave — possa ser buscado.
Recuperação hierárquica
Primeiro selecione os ensinamentos, depois recupere passagens dentro deles. Diversifique as fontes para que um único arquivo não domine a resposta.
O ponto para um recrutador que nunca construiu infraestrutura de IA: eu entendo o que acontece entre uma pessoa fazer uma pergunta e a IA produzir uma resposta — e desenhei esse caminho como produto.
Evolução da arquitetura
Com o crescimento do corpus, removi a dependência exclusiva do Supabase na recuperação. Agora cada serviço faz o trabalho em que é melhor, enquanto o produto mantém uma experiência consistente.
Fonte oficial dos dados
Autenticação, armazenamento privado de arquivos, metadados estruturados, tópicos e dados de usuários permanecem no Supabase.
Mecanismo de recuperação
Os embeddings de documentos e trechos ficam no Qdrant. O texto das passagens e os metadados da fonte acompanham cada resultado vetorial, eliminando uma consulta adicional ao banco de dados no fluxo de perguntas.
Camada da experiência
As leituras de catálogo, ensinamentos e tópicos usam armazenamento temporário no servidor com etiquetas. Alterações nos arquivos acionam uma revalidação assinada, mantendo a navegação repetida eficiente sem exibir conteúdo desatualizado.
Migração em etapas
Uma interface compartilhada de recuperação pode encaminhar as buscas ao Qdrant ou às funções vetoriais existentes do Postgres, de acordo com a configuração. Isso separou o comportamento do produto da escolha de armazenamento e permitiu uma migração gradual.
Efeito na experiência
As pessoas mantêm o mesmo modelo simples — navegar, perguntar e verificar fontes — enquanto o armazenamento temporário e os resultados vetoriais com dados completos reduzem o trabalho evitável no servidor.
Escala
1,000+
arquivos
Nessa escala, buscar manualmente o material de origem deixa de ser uma interface prática.
O produto precisava de uma forma estruturada de processar, indexar, recuperar e apresentar o conhecimento certo — para que uma pergunta ou tema pudesse abrir o arquivo sem exigir que alguém soubesse onde cada ensinamento estava.
Produto e UX
A interface é intencionalmente silenciosa: biblioteca, navegação, tópicos, Ask. A complexidade fica no pipeline; o produto pede apenas a intenção.

Perguntas em linguagem natural se tornam uma busca em duas etapas: encontrar os ensinamentos certos e então citar as passagens correspondentes.

Busca semântica ranqueada por relevância temática — sinopses e termos-chave tornam uma biblioteca grande percorrível sem abrir cada arquivo.

Filtros de catálogo por ano, evento, tipo e tópico. Páginas de detalhe abrem o arquivo completo com resumos opcionais por IA.

Temas reunidos entre ensinamentos, com o Construtor de Tópicos ligando cada tema às passagens de apoio.
Navegar
Prévia anonimizada
O voto do monge ciumento · Conto Jataka
Um monge deixa o ciúme levá-lo a caluniar um companheiro que havia ganhado respeito. O conto gira em torno da confissão, reparação e da escolha de um caminho rumo ao despertar.
Confissão e redenção · Conto Jataka
Depois de admitir o erro, o monge oferece o que pode, renova seu voto e recebe encorajamento — enquanto outros personagens também fazem votos.
Interação com IA
O Ask Dharma não é um clone genérico de chat. Foi desenhado para uma tarefa: responder a partir desta biblioteca, mostrar as passagens que sustentam a resposta e recusar inventar ensinamentos que não estão lá.
Da biblioteca
No voto do monge ciumento, o ciúme leva um monge a caluniar um companheiro que havia ganhado mais respeito — acusando-o falsamente em vez de encarar a própria inveja. As fontes recuperadas mostram como a admiração pode virar acusação quando o ciúme não é contido.
Passagens de apoio
“O ciúme o levou a caluniar um companheiro que havia ganhado respeito, acusando-o falsamente de um erro.”
Troca ilustrativa — o conteúdo do corpus privado não é exibido.
Por baixo da superfície: a pergunta recebe embedding, os ensinamentos candidatos são selecionados no índice de documentos (e por sobreposição lexical de termos-chave), os trechos correspondentes são recuperados, as fontes são diversificadas, e só então o modelo escreve — limitado a essas passagens.
O modelo não “conhece” os arquivos. Ele responde a partir do que a recuperação retorna.
Construindo o produto
Usei ferramentas assistidas por IA para ir do conceito de produto e UX até uma aplicação funcionando — schema, pipeline de ingestão, recuperação e interface.
O importante não é que a IA escreveu código. É que eu pude dirigir o ciclo completo: definir o problema, desenhar a experiência, decidir como o conhecimento deveria ser indexado e recuperado, e publicar um produto privado que as pessoas realmente podem usar.
Decisões de design
As pessoas nunca veem embeddings, limites de trechos ou scores vetoriais. Veem busca, respostas e fontes.
O modelo não é tratado como se “conhecesse” o corpus. As passagens são recuperadas primeiro; a resposta fica limitada a essas passagens.
Passagens de apoio aparecem sob cada resposta, ligadas aos títulos dos ensinamentos — a confiança vem da proveniência, não do verniz.
A relevância no nível do documento encontra os ensinamentos certos; a busca no nível do trecho encontra as linhas exatas para citar.
Acesso autenticado, armazenamento privado e sem cadastro público — o corpus permanece uma biblioteca fechada.
Carregamento (“Buscando os ensinamentos…”), resultados vazios e falhas de recuperação são desenhados como momentos de produto, não erros genéricos.
O Supabase gerencia o conteúdo privado e os dados relacionais; o Qdrant cuida da recuperação semântica e retorna os dados das passagens com cada resultado.
As leituras estáveis da biblioteca são armazenadas temporariamente por etiqueta e revalidadas automaticamente quando os arquivos de ensinamentos mudam.
O que aprendi
Desenhar um produto de IA significa desenhar o sistema em torno da IA — recuperação, fundamentação e citações — não colocar um chatbot sobre uma pilha de documentos.
A qualidade da recuperação é a qualidade do produto. Se as passagens erradas aparecem, a resposta parece quebrada mesmo com uma UI calma.
Uma boa UX de IA torna a infraestrutura complexa invisível. As pessoas devem se sentir guiadas, não impressionadas por jargão.
As escolhas de arquitetura devem se traduzir em valor para as pessoas: menos consultas ao servidor e a invalidação planejada do armazenamento temporário sustentam uma biblioteca mais ágil e confiável.
O desenvolvimento assistido por IA mudou a velocidade com que pude ir do conceito de produto e UX a um sistema funcionando no qual eu pudesse iterar.