This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady.
What I Built
I built Stow, a small home-memory app for the things I put away and promptly forget.
Take a photo, write one sentence about where the item went, and Stow saves a searchable memory. Later, ask a plain question like “Where did I put the book?” and it brings back the item and the location you gave it.
The goal is deliberately modest: spend less time reopening drawers and more time doing whatever you meant to do.
Demo
Stow currently runs on a computer in my home, with a phone connecting over the same Wi-Fi. It is not deployed publicly, by design.
Try It Locally
Stow runs on your computer, with your phone connecting over the same Wi-Fi. You’ll need Node.js, Python, and Ollama.
- Clone the Stow repo and open its folder.
- In a terminal, download Gemma 3 4B:
ollama pull gemma3:4b. - Install the backend dependencies:
python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt. - Start the API:
uvicorn backend.main:app --host 127.0.0.1 --port 8000. - In a second terminal, run
npm install && npm run dev. - Open the Vite network address on your phone. Keep the phone and computer on the same Wi-Fi.
Write a note about an item and where you put it, then tap Remember this. Later, search for it in everyday language. Photos are optional. The computer running Stow must stay on while you use it.
Code
How I Built It
The phone-first interface is built with React, Vite, and TypeScript. A FastAPI service on my computer stores memories in SQLite and optional photos in a local folder. Ollama runs Gemma 3 4B on that same computer.
When I save an item, Gemma turns my note and optional photo into a short item name, location, and identifying note. The photo can help identify the object; the location must come from the words I typed. Stow does not ask the model to infer where something is from an image.
For search, Gemma chooses from the memories already saved. The API checks that the returned match belongs to that saved set before showing its stored location. The phone sends its note and photo to my computer over the home network; there is no hosted AI API in the flow.
A practical trade-off: the computer has to stay on, the phone and computer need the same Wi-Fi, and I still check the model’s result. Gemma can make mistakes, so Stow is a memory aid—not a replacement for checking where I put something.
Why Does Open Innovation Matter?
Stow handles little details about someone’s home. Running an open-weight model locally means those notes and photos do not need to go to a third-party AI service just to answer “where did I put it?” I can inspect the workflow, choose the model, and change it without redesigning the app around a hosted API.
That choice has a cost too: the model needs to be downloaded and run on a computer with enough memory, and that computer must be available when I search. For this use case, I prefer that setup over sending household photos and locations to a cloud model.
The Lazy Payoff
I tried Stow from my phone with a photo of a book. Gemma identified it as The Alchemist, I saved “table” as its location, and a later search for the book brought the saved memory back with its photo. One short note was enough; I did not have to create an account, fill out a form, or remember which app I used.
Prize Categories
- Best Use of Gemma
Thank you for reading.


Top comments (0)