Caso de trabalho

Find2Go

Aplicação para guardar, organizar, localizar e consultar arquivos que o usuário considera importantes. Ela nasceu de uma necessidade simples: encontrar aquilo que sabemos que temos, mas não lembramos onde está.

Duas perguntas orientam toda a arquitetura funcional do produto — e também este caso de trabalho: “Quais arquivos eu tenho sobre isso?” e “O que este documento diz sobre isso?”.

Como surgiu

Reduzir a dependência da navegação manual.

A ideia inicial era reduzir a dependência da navegação manual por pastas, drives, pen drives, celular e outros lugares utilizados para guardar informações.

A primeira tentativa também procurava alcançar diretamente os arquivos locais do computador. As limitações de segurança de uma aplicação web para acessar livremente os caminhos do Windows levaram à separação da solução: o WheresIt ficou direcionado ao ambiente local e o Find2Go evoluiu como um acervo em nuvem para os arquivos que o usuário escolhe manter disponíveis.

Essa evolução mudou outra ideia inicial: o objetivo deixou de ser colocar todos os arquivos no Find2Go. O usuário seleciona aquilo que considera importante.

Duas necessidades, dois chats

Encontrar um arquivo e interpretar seu conteúdo são problemas diferentes.

Por isso o Find2Go mantém os dois separados.

Chat de Arquivos

“Quais arquivos eu tenho sobre isso?”

Uma pergunta como “o que temos sobre impostos?” não exige que o Find2Go leia integralmente todos os documentos armazenados. O Chat de Arquivos procura no catálogo do Acervo utilizando informações como nome, título, descrição, categoria, tags e outros metadados disponíveis.

O resultado é um conjunto de arquivos relacionados àquilo que o usuário procurou. A partir daí, ele pode entrar no arquivo e gerenciá-lo: visualizar, baixar, compartilhar e utilizar as demais ações disponíveis.

Chat de Arquivos do Find2Go com a pergunta e os arquivos encontrados
Chat de Arquivos · desktop
Chat de Arquivos do Find2Go no celular

Captura real · Chat de Arquivos em desktop e celular

Chat de Documento

“O que este documento diz sobre isso?”

Depois de encontrar um arquivo, o usuário pode decidir que deseja conversar com seu conteúdo. Nesse caso, solicita a criação de um Documento processado: o conteúdo é preparado e dividido em partes menores que podem ser recuperadas de acordo com a pergunta realizada.

Diante de uma pergunta como “quais cláusulas deste contrato me prejudicam?”, o Find2Go procura naquele documento os trechos mais relacionados e fornece esse contexto para a IA elaborar a resposta. A resposta mantém referências aos trechos utilizados, permitindo relacionar a interpretação apresentada ao conteúdo recuperado do próprio documento.

  • Arquivo escolhido
  • Gerar Documento
  • Chunks / recuperação
  • Pergunta
  • Trechos relevantes
  • IA
  • Resposta com referências
Chat de Documento do Find2Go com resposta e trechos relevantes citados
Chat de Documento · desktop
Chat de Documento do Find2Go no celular

Captura real · Chat de Documento em desktop e celular

Os dois chats mantêm histórico, permitindo que uma interação continue dentro de seu contexto em vez de cada pergunta começar uma consulta isolada. As conversas permanecem armazenadas até que o usuário decida excluí-las.

O Acervo

O ponto central de organização e administração.

O Acervo é onde os arquivos enviados ao Find2Go são visualizados e administrados. Ao adicionar um arquivo, o usuário pode informar ou editar seus metadados e tags, localizar seus arquivos e executar ações como visualizar, baixar, editar informações, compartilhar e excluir.

Quando uma API de IA estiver configurada, o Find2Go também pode utilizá-la para sugerir metadados, auxiliando na catalogação. Esse enriquecimento é independente da criação de um Documento conversável.

Um arquivo pode permanecer apenas no Acervo e continuar sendo encontrado e gerenciado por seus metadados, sem precisar gerar documento, chunks ou embeddings. Arquivo e Documento possuem ciclos de vida distintos.

Acervo do Find2Go com arquivos organizados por título, categoria e tags
Acervo · desktop
Acervo do Find2Go no celular

Captura real · Acervo em desktop e celular

Decisão de arquitetura

Encontrar primeiro. Processar quando necessário.

Enviar um arquivo ao Find2Go não significa obrigatoriamente processá-lo para IA. Essa é uma escolha do usuário.

Fluxo básico

  • Arquivo
  • Acervo
  • Metadados e tags
  • Localização e gestão

Somente quando houver interesse em conversar com o conteúdo

  • Arquivo
  • Gerar Documento
  • Chunks / representações
  • Pergunta
  • Trechos relevantes
  • IA
  • Resposta

Isso evita processar para conversação todos os arquivos simplesmente porque foram armazenados. O processamento adicional é utilizado onde existe uma necessidade concreta.

Arquivo e Documento

Não são a mesma coisa.

O Arquivo continua sendo o original armazenado. O Documento é uma representação derivada daquele arquivo, criada para permitir processamento e consulta de conteúdo.

O texto é dividido em partes menores — os chunks — que permitem localizar trechos relacionados à pergunta. Representações vetoriais ajudam a identificar semanticamente quais desses trechos são mais relevantes.

Assim, o Find2Go não precisa enviar indiscriminadamente todo o Acervo para uma IA. Ele recupera primeiro aquilo que interessa para aquela pergunta e fornece esse contexto ao modelo. O original continua sendo a origem; o material processado é derivado dele.

Arquivo do Find2Go com metadados, status do documento e ação Conversar com este documento
Arquivo com Documento disponível · desktop
Arquivo do Find2Go no celular com a ação Conversar com este documento

Captura real · Arquivo e geração do Documento em desktop e celular

Papel da IA

A aplicação continua determinando o escopo.

No Acervo, a IA pode ser utilizada opcionalmente para auxiliar na sugestão de metadados quando uma API compatível estiver configurada.

No Chat de Documento, ela recebe os trechos que o Find2Go recuperou daquele documento e utiliza esse contexto para produzir uma resposta em linguagem natural.

  • Find2Go recupera
  • delimita o contexto
  • IA responde

A IA não recebe acesso livre ao Acervo inteiro para procurar arquivos e documentos por conta própria.

Ciclo de vida e integridade

O arquivo é a origem das informações derivadas dele.

  • Arquivo
  • Documento
  • Chunks / representações
  • Dados e interações associados

Quando o usuário decide excluir um arquivo, os dados derivados associados são eliminados em cascata. Excluir o arquivo elimina aquilo que depende dele, evitando que conteúdos derivados permaneçam sem o arquivo que lhes deu origem.

Infraestrutura

O mesmo Find2Go, duas formas de infraestrutura.

O Find2Go foi concebido para poder trabalhar com dois modelos de infraestrutura sem criar duas versões diferentes da aplicação. O código do produto é o mesmo. O que muda é o ambiente Supabase utilizado.

Modelo centralizado

Os usuários utilizam uma infraestrutura Supabase administrada pelo Find2Go. Os dados permanecem isolados por usuário, enquanto administração, limites e utilização da infraestrutura podem ser controlados centralmente.

Modelo distribuído

Um cliente pode utilizar seu próprio Supabase e suas próprias credenciais para serviços externos, incluindo a API de IA. Arquivos, documentos, chunks, conversas e demais dados operacionais ficam no ambiente desse cliente.

Essa infraestrutura também pode atender diversos usuários do próprio cliente, preservando o isolamento entre eles. Distribuir a infraestrutura não significa eliminar o modelo multiusuário: significa mudar quem controla o ambiente onde esses usuários e seus dados estão.

Administração do Find2Go com usuários, arquivos, armazenamento e mensagens
Administração · desktop
Administração do Find2Go no celular

Captura real · administração do ambiente, presente no modelo multiusuário

O Find2Go possui estrutura para operação centralizada e um kit de instalação para o modelo distribuído. A equivalência operacional completa entre diferentes instalações distribuídas ainda precisa ser validada em ambiente real.

Dados, custos e responsabilidade

A escolha não trata apenas de tecnologia.

Ela altera também onde ficam os dados e quem assume os serviços utilizados. No modelo distribuído, os dados operacionais podem permanecer no Supabase do próprio cliente, sem que o Find2Go precise concentrar arquivos, documentos, chunks e conversas em sua infraestrutura central.

O cliente também pode manter sob seu controle a contratação, as credenciais, o consumo e os custos dos serviços utilizados por sua instalação, como Supabase e API de IA.

No modelo centralizado, esses recursos são administrados pela infraestrutura compartilhada e, por isso, existem mecanismos de administração e limites por usuário.

F2G-Control

Saber qual infraestrutura atende cada acesso.

Quando existem ambientes diferentes, a aplicação precisa saber qual infraestrutura deve atender determinado acesso. O F2G-Control foi concebido como uma camada separada do ambiente operacional e participa da ativação e da identificação da estrutura que deverá ser utilizada.

No modelo distribuído, o F2G-Control determina a infraestrutura correspondente e gera o acesso que direciona a aplicação para o Supabase próprio daquele cliente, sem transformar essa camada de controle no repositório dos arquivos e documentos operacionais.

  • Ativação
  • Licenciamento
  • Identificação da infraestrutura
  • Direcionamento para o ambiente correspondente

A operação completa desse mecanismo em ambiente distribuído ainda precisa ser validada em produção.

Distribuir sem criar vários produtos

O programa continua sendo único.

Permitir que diferentes clientes tenham seus próprios Supabases cria outra preocupação: cada instalação não pode evoluir livremente até se transformar em uma versão estrutural diferente do Find2Go. A estrutura necessária à aplicação deve permanecer compatível entre os ambientes.

Quando uma evolução exige mudanças em tabelas, colunas, funções, políticas de acesso, Edge Functions, Storage, índices, constraints ou outros objetos, essas alterações precisam acompanhar a evolução da aplicação nas instalações distribuídas. Por isso o modelo inclui kit de instalação e uma política mais controlada de atualização e migração.

Distribuição dos dados e da administração; centralização da evolução do produto e do modelo estrutural.

O kit de instalação para o modelo distribuído faz parte da estrutura atual. Mecanismos adicionais de controle automático da versão instalada devem ser tratados como evolução enquanto não estiverem disponíveis na implementação vigente.

Decisões

Algumas decisões por trás do Find2Go.

Encontrar arquivos e entender documentos são problemas diferentes

Situação: localizar um contrato e interpretar suas cláusulas exigem informações diferentes. Decisão: separar Chat de Arquivos e Chat de Documento. Consequência: um trabalha sobre catálogo, metadados e tags; o outro trabalha sobre o conteúdo processado de um documento específico.

Processar somente quando houver necessidade

Situação: nem todo arquivo armazenado precisa ser transformado em conteúdo conversável. Decisão: manter Arquivo e Documento como entidades diferentes e deixar a geração do Documento sob escolha do usuário. Consequência: o Acervo continua útil sem obrigar processamento de IA para todos os arquivos.

Recuperar antes de gerar

Situação: uma IA não precisa receber acesso indiscriminado ao conjunto inteiro de informações para responder uma pergunta. Decisão: o Find2Go recupera primeiro os arquivos ou trechos relevantes e delimita o contexto que será entregue ao modelo. Consequência: recuperação e geração permanecem como responsabilidades diferentes.

Permitir que dados e custos não precisem ficar centralizados

Situação: operar um SaaS centralizado significa assumir infraestrutura, armazenamento, consumo de serviços e responsabilidade operacional sobre dados de muitos usuários. Decisão: permitir que o mesmo Find2Go também opere sobre infraestrutura pertencente ao cliente. Consequência: no modelo distribuído, dados, credenciais, consumo e custos podem permanecer no ambiente controlado pelo próprio cliente.

Distribuir infraestrutura sem distribuir a evolução do produto

Situação: vários Supabases independentes poderiam evoluir para estruturas incompatíveis com um único código do Find2Go. Decisão: manter uma estrutura padronizada e tratar instalação e atualização por mecanismos versionados. Consequência: o cliente pode controlar sua infraestrutura sem transformar sua instalação em uma variante independente do produto.

Limites importantes

O que o Find2Go não pretende ser.

O Find2Go não pretende substituir todo armazenamento existente nem exige que todos os arquivos do usuário sejam enviados para ele. O Acervo é formado pelos arquivos que o usuário escolhe manter no sistema.

  • o Chat de Arquivos trabalha principalmente sobre informações catalogadas e não deve ser confundido com leitura integral do conteúdo de todos os arquivos
  • conversar com o conteúdo exige que o arquivo possua um Documento processado
  • extração de conteúdo, OCR, embeddings e respostas de IA dependem dos formatos suportados e da disponibilidade, configuração, cotas e custos dos serviços externos utilizados
  • limites como quantidade de arquivos, armazenamento, tamanho máximo, chats e reprocessamentos podem ser administrados por instalação e usuário; valores específicos não devem ser tratados como universais
  • a utilização de outros providers físicos de Storage, como Google Drive ou OneDrive, é uma direção de evolução e não uma funcionalidade disponível atualmente
  • a equivalência operacional completa entre instalações distribuídas ainda precisa ser validada
  • a operação completa do F2G-Control em ambiente distribuído ainda precisa ser validada em produção
  • o controle automático completo da versão instalada deve ser tratado como evolução enquanto não estiver implementado

Demonstração

Demonstração em vídeo

Em breve

Quer conhecer a aplicação funcionando?

Se este trabalho despertou seu interesse e você quiser conhecer a aplicação com mais detalhes, entre em contato comigo pelo WhatsApp.

Conversar pelo WhatsApp
Acessar o Find2Go ↗