This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
MemoryBox is a privacy-first screenshot search tool that helps students, developers, and researchers find images using natural-language queries. This web demo requires manual screenshot uploads and uses OCR, Gemma 3 4B, and local embeddings for visual understanding and semantic search.
The actual vision is a desktop app that, with user permission, accesses selected screenshots and pictures, indexes them automatically, and runs open-weight AI models locally. The planned business model is a one-time desktop license.
Demo
Code
MemoryBox web demo
MemoryBox is a privacy-first screenshot search demo. Drop screenshots into the browser, let local Tesseract.js OCR read their text, then search that extracted text. Optionally, use a locally running Ollama vision model to create extra screenshot metadata. There is no application backend, account system, analytics, upload endpoint, cloud OCR, or cloud AI API.
Run locally
Use Node.js 20 or newer:
npm install
npm run dev
Open the local Vite address shown in the terminal (normally http://localhost:5173). For a production build:
npm run typecheck
npm test
npm run build
npm run preview
Demo workflow
- Drag PNG, JPG/JPEG, or WebP screenshots onto the upload panel, or use Choose images.
- Approve the browser’s first-time OCR language-data download if prompted by Tesseract.js.
- Watch per-image indexing progress and failures.
- Optionally open Local AI and use Test connection. MemoryBox defaults to
gemma3:4bathttp://localhost:11434. - Enable automatic analysis for new…
How I Built It
I built MemoryBox as a browser-based demo using Tesseract.js for OCR and Ollama for local AI inference. Gemma 3 4B analyzes screenshots and generates visual descriptions, while the open-weight nomic-embed-text model creates embeddings for semantic search. A hybrid search system combines keyword matching with vector similarity, storing metadata and embeddings in IndexedDB. All AI inference runs locally through Ollama, without cloud AI APIs. The long-term plan is to bring this workflow to a desktop app with permission-based access to local screenshots.
Why Does Open Innovation Matter?
Open innovation made privacy-first, local AI possible with no dependence on paid cloud APIs. Using open-weight Gemma and nomic-embed-text through Ollama lets users analyze and search personal screenshots on their own devices, keeping sensitive information local. It also gives developers the freedom to inspect, replace, and improve models, making MemoryBox more adaptable and affordable.
My First User
My first user was my sister, who used MemoryBox to find screenshots she couldn't locate manually. It was genuinely helpful for her, and she paid me ₹100 for it-my first revenue from the project!
My second user was a friend who liked the idea and offered to share around $200 worth of API credits he won in a competition to help me develop it further. These early responses showed me that MemoryBox could solve a real problem for people.
Prize Categories
Best Use of Gemma - MemoryBox uses Google's open-weight Gemma 3 4B vision model locally through Ollama to understand screenshots, generate visual descriptions, and extract useful context. Combined with local embeddings, it enables privacy-first screenshot search based on meaning rather than exact keywords, without relying on cloud AI APIs.
Top comments (0)