This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
HomeMemory is a private memory for the small things families keep forgetting. Mother,sister,father and I are always asking: where are the spare keys, what's the Wi-Fi password, where did the wallet go, which hospital receipt was that, when does this medicine expire.
You take a photo, add a short note ("wallet on the side table in my bedroom"), and a mascot called Memo remembers it. Later you ask in plain English, Urdu or Roman Urdu and get an answer with the source photo. A "Due soon" tab flags medicines and documents before they expire.
I built it for my Mother, who is not at the age to remember everything so 1 time she forget her credit card in some shop so we all are very concern i build this for her so she is in ease .
Demo
Code
laiba-Ashfaq
/
Home-Memory
A private memory assistant for the small things families keep forgetting.
HomeMemory
A private memory assistant for the small things families keep forgetting.
About
HomeMemory is a personal memory assistant designed to help families remember where important everyday things are and keep track of dates such as document or medicine expiry dates.
The idea came from a simple experience: my mother once left her credit card behind at a shop. It made me think about how often we forget small but important things at home — where we kept our wallet, keys, receipts, documents, or other belongings.
Instead of expecting someone to remember everything, HomeMemory lets them simply ask.
What It Does
With HomeMemory, you can:
- Take or upload a photo of an item.
- Add a short note about where it is.
- Use an open model to analyze the photo and extract useful details.
- Review and edit the information before saving it.
- Ask questions about saved items in English, Urdu…
Live Deploy :
http://home-memorygit-an9izpjmre3yesgikuoybq.streamlit.app/
How I Built It
Gemma 4 runs locally through Ollama. It reads each photo and returns structured JSON (category, item, description, readable text, expiry date) and writes the final answers.
EmbeddingGemma turns each memory into a vector, so "extra chabi" can still find "spare keys".
MongoDB Atlas Vector Search stores the memories and finds the closest match to a question.
Streamlit powers the interface, including a dark mode and an animated mascot, Memo.
What I did to keep answers reliable:
Forced a fixed JSON schema and temperature 0, so the model can't invent categories.
Made your own note the source of truth for where something is.
Added a confirm-and-edit step before anything is saved.
Added a match threshold, so Memo says "I couldn't find that" instead of guessing.
Wrote a small test script: top-1 retrieval accuracy was [X/Y = 78%] on 10 real items.
What went wrong: a real failure, my wallet was first labelled "document" because of the cards inside, and Then i add edit button and dropdown menue chnage into add also button for belongings .
result: it takes 10-15 minutes to find these things before This chatbot ,after this it goes to 2-3 minutes maximum
Why Does Open Innovation Matter?
This ChatBot holds Wi-Fi passwords, ID documents, medical receipts and where the jewelry is kept. I didn't want to send those photos to a closed API.
Because Gemma is open-weight, the photo reading and answering run on my own laptop. The images never leave it, there are no per-request costs, and I could change the prompts, schema and model size freely.
One honest limit: the text records and their embeddings are stored in MongoDB Atlas, not locally. The same code also works against a local MongoDB.
My Agent Session
I built HomeMemory by working with Claude in a chat window, then running and testing
everything on my own laptop. I didn't use a coding-agent tool, so I have no agent-session
file to share. The main fixes I made along the way:
- wallet was first labelled "document"; fixed with a new category and a stricter prompt
- search threshold tuned so Memo says "not found" instead of guessing
- UI fixes for dark mode and the upload button
Prize Categories
- Best Use of Gemma: Gemma 4 runs locally through Ollama. It reads each photo and returns structured JSON, and it writes the answers. EmbeddingGemma creates the embeddings used for search.
- Best Use of MongoDB Atlas: Atlas stores every memory and Atlas Vector Search finds the closest match to a question.
- Best Use of ElevenLabs: I used ElevenLabs to generate the narration for my demo video.
- Best Use of GitHub Copilot: I used Copilot in VS Code to fix errors i encounter like toggle button not working so i had to fix it using copilot ollama takes to much time so i also fixed this issue it now reads images quickly with better score.

Top comments (0)