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.
Caso de trabalho
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
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
Por isso o Find2Go mantém os dois separados.
Chat de Arquivos
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.


Captura real · Chat de Arquivos em desktop e celular
Chat de Documento
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.


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 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.


Captura real · Acervo em desktop e celular
Decisão de arquitetura
Enviar um arquivo ao Find2Go não significa obrigatoriamente processá-lo para IA. Essa é uma escolha do usuário.
Fluxo básico
Somente quando houver interesse em conversar com o conteúdo
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
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.


Captura real · Arquivo e geração do Documento em desktop e celular
Papel da IA
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.
A IA não recebe acesso livre ao Acervo inteiro para procurar arquivos e documentos por conta própria.
Ciclo de vida e integridade
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 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.
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.
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.


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
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
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.
A operação completa desse mecanismo em ambiente distribuído ainda precisa ser validada em produção.
Distribuir sem criar vários produtos
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
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.
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.
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.
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.
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 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.
Demonstração
Em breve
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