<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Drishya Singhal</title>
    <description>The latest articles on DEV Community by Drishya Singhal (@drishya).</description>
    <link>https://dev.to/drishya</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4156763%2F1144cd29-00ce-462e-8b7b-851187544667.webp</url>
      <title>DEV Community: Drishya Singhal</title>
      <link>https://dev.to/drishya</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/drishya"/>
    <language>en</language>
    <item>
      <title>Find My Thingy: A Local-First AI Memory Assistant Powered by Gemma 3 4B</title>
      <dc:creator>Drishya Singhal</dc:creator>
      <pubDate>Sun, 04 Oct 2026 19:42:23 +0000</pubDate>
      <link>https://dev.to/drishya/find-my-thingy-a-local-first-ai-memory-assistant-powered-by-gemma-3-4b-ifo</link>
      <guid>https://dev.to/drishya/find-my-thingy-a-local-first-ai-memory-assistant-powered-by-gemma-3-4b-ifo</guid>
      <description>&lt;h1&gt;
  
  
  Find My Thingy: A Local-First AI Memory Assistant Powered by Gemma 3 4B
&lt;/h1&gt;

&lt;p&gt;Have you ever remembered saving something important in a document, but couldn't remember which file it was in?&lt;/p&gt;

&lt;p&gt;Maybe it was a piece of code, a project note, an explanation, or an idea you wrote down weeks ago.&lt;/p&gt;

&lt;p&gt;Searching through multiple files just to find one small detail can be frustrating.&lt;/p&gt;

&lt;p&gt;That's the problem behind &lt;strong&gt;Find My Thingy&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Find My Thingy?
&lt;/h2&gt;

&lt;p&gt;Find My Thingy is a local-first personal memory assistant that helps you find information stored in your documents using natural-language questions.&lt;/p&gt;

&lt;p&gt;Instead of manually opening files and searching for keywords, you can add your documents to the application and ask questions about their contents.&lt;/p&gt;

&lt;p&gt;The application retrieves relevant passages and uses a locally running AI model to generate an answer with source citations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The idea is simple: your information stays on your device, and you can ask questions about it whenever you need it.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How does it work?
&lt;/h2&gt;

&lt;p&gt;The workflow has four main steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Add documents:&lt;/strong&gt; Import PDFs, TXT files, and Markdown notes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extract and index:&lt;/strong&gt; The application extracts text, divides it into chunks, and creates embeddings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retrieve relevant information:&lt;/strong&gt; When you ask a question, the system searches for relevant document passages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generate an answer:&lt;/strong&gt; Gemma 3 4B, running through Ollama, generates an answer grounded in the retrieved information.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Source citations help you trace an answer back to the document it came from.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;p&gt;Here are the technologies used to build the project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React, Vite, TypeScript, Tailwind CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python, FastAPI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Database:&lt;/strong&gt; SQLite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vector database:&lt;/strong&gt; ChromaDB&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Embeddings:&lt;/strong&gt; Sentence Transformers (&lt;code&gt;all-MiniLM-L6-v2&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local AI:&lt;/strong&gt; Gemma 3 4B through Ollama&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF processing:&lt;/strong&gt; PyMuPDF&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why local-first?
&lt;/h2&gt;

&lt;p&gt;I wanted the application to work without depending on a hosted AI API for everyday document retrieval and question answering.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;There is an initial setup requirement: the application needs its dependencies and models downloaded before it can operate fully offline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Import PDFs, TXT files, and Markdown documents.&lt;/li&gt;
&lt;li&gt;Search document contents using natural-language questions.&lt;/li&gt;
&lt;li&gt;Generate answers grounded in retrieved passages.&lt;/li&gt;
&lt;li&gt;Display source citations.&lt;/li&gt;
&lt;li&gt;Store personal memories separately from document content.&lt;/li&gt;
&lt;li&gt;Use a locally running language model.&lt;/li&gt;
&lt;li&gt;Manage documents and saved memories through a dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenges during development
&lt;/h2&gt;

&lt;p&gt;Building a local AI application involves more than connecting a model to a chat interface.&lt;/p&gt;

&lt;p&gt;Some of the important challenges include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extracting useful text from different document formats.&lt;/li&gt;
&lt;li&gt;Creating meaningful chunks for retrieval.&lt;/li&gt;
&lt;li&gt;Avoiding answers when the available context does not support them.&lt;/li&gt;
&lt;li&gt;Connecting the frontend, backend, vector database, and local model.&lt;/li&gt;
&lt;li&gt;Managing model availability and local dependencies.&lt;/li&gt;
&lt;li&gt;Making the setup process understandable for Windows users.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current limitations
&lt;/h2&gt;

&lt;p&gt;This is still a work in progress. Some limitations include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scanned PDFs are not currently processed using OCR.&lt;/li&gt;
&lt;li&gt;Indexing is synchronous.&lt;/li&gt;
&lt;li&gt;Chat history is session-only.&lt;/li&gt;
&lt;li&gt;Memory extraction is best-effort.&lt;/li&gt;
&lt;li&gt;The application is designed for a trusted local device rather than multi-user deployment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's next?
&lt;/h2&gt;

&lt;p&gt;Some areas I would like to improve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Better semantic retrieval for personal memories.&lt;/li&gt;
&lt;li&gt;More robust document processing.&lt;/li&gt;
&lt;li&gt;A smoother one-click Windows installation and launch experience.&lt;/li&gt;
&lt;li&gt;Improved retrieval evaluation and testing.&lt;/li&gt;
&lt;li&gt;Better support for larger document libraries.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Try it out
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/Drishya-code/Find-My-Thingy" rel="noopener noreferrer"&gt;https://github.com/Drishya-code/Find-My-Thingy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The repository contains the source code and setup instructions.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The goal of Find My Thingy is straightforward: stop searching through everything you saved and start asking for what you remember.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwfsmkxsg18jw5r6ynwb8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwfsmkxsg18jw5r6ynwb8.png" alt=" " width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>ai</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
