Find My Thingy: A Local-First AI Memory Assistant Powered by Gemma 3 4B
Have you ever remembered saving something important in a document, but couldn't remember which file it was in?
Maybe it was a piece of code, a project note, an explanation, or an idea you wrote down weeks ago.
Searching through multiple files just to find one small detail can be frustrating.
That's the problem behind Find My Thingy.
What is Find My Thingy?
Find My Thingy is a local-first personal memory assistant that helps you find information stored in your documents using natural-language questions.
Instead of manually opening files and searching for keywords, you can add your documents to the application and ask questions about their contents.
The application retrieves relevant passages and uses a locally running AI model to generate an answer with source citations.
The idea is simple: your information stays on your device, and you can ask questions about it whenever you need it.
How does it work?
The workflow has four main steps:
- Add documents: Import PDFs, TXT files, and Markdown notes.
- Extract and index: The application extracts text, divides it into chunks, and creates embeddings.
- Retrieve relevant information: When you ask a question, the system searches for relevant document passages.
- Generate an answer: Gemma 3 4B, running through Ollama, generates an answer grounded in the retrieved information.
Source citations help you trace an answer back to the document it came from.
Tech Stack
Here are the technologies used to build the project:
- Frontend: React, Vite, TypeScript, Tailwind CSS
- Backend: Python, FastAPI
- Database: SQLite
- Vector database: ChromaDB
-
Embeddings: Sentence Transformers (
all-MiniLM-L6-v2) - Local AI: Gemma 3 4B through Ollama
- PDF processing: PyMuPDF
Why local-first?
I wanted the application to work without depending on a hosted AI API for everyday document retrieval and question answering.
Running Gemma locally through Ollama means the application can process questions on the user's own machine once the required models and dependencies are installed.
There is an initial setup requirement: the application needs its dependencies and models downloaded before it can operate fully offline.
Key features
- Import PDFs, TXT files, and Markdown documents.
- Search document contents using natural-language questions.
- Generate answers grounded in retrieved passages.
- Display source citations.
- Store personal memories separately from document content.
- Use a locally running language model.
- Manage documents and saved memories through a dashboard.
Challenges during development
Building a local AI application involves more than connecting a model to a chat interface.
Some of the important challenges include:
- Extracting useful text from different document formats.
- Creating meaningful chunks for retrieval.
- Avoiding answers when the available context does not support them.
- Connecting the frontend, backend, vector database, and local model.
- Managing model availability and local dependencies.
- Making the setup process understandable for Windows users.
One important lesson was that a convincing AI response is not enough. The application also needs to show where the information came from and avoid making unsupported claims.
Current limitations
This is still a work in progress. Some limitations include:
- Scanned PDFs are not currently processed using OCR.
- Indexing is synchronous.
- Chat history is session-only.
- Memory extraction is best-effort.
- The application is designed for a trusted local device rather than multi-user deployment.
What's next?
Some areas I would like to improve:
- Better semantic retrieval for personal memories.
- More robust document processing.
- A smoother one-click Windows installation and launch experience.
- Improved retrieval evaluation and testing.
- Better support for larger document libraries.
Try it out
GitHub Repository: https://github.com/Drishya-code/Find-My-Thingy
The repository contains the source code and setup instructions.
If you explore the project, I'd especially appreciate feedback on the retrieval quality, local setup experience, and ways to make the assistant more useful.
The goal of Find My Thingy is straightforward: stop searching through everything you saved and start asking for what you remember.

Top comments (5)
Could you explain how you are using ChromaDB and Sentence Transformers together for document retrieval?
How is the personal memory library different from the document-based knowledge base? Are they stored and retrieved separately?
Really like how you've approached this problem. Instead of building another generic chatbot, you've focused on personal knowledge management. That's a nice direction!
Okay