This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend
What I Built
I built MemoMate, a local-first AI memory assistant that helps you remember the small things you normally forget.
The idea came from a simple problem: my friend often has tasks, ideas and information scattered throughout the day but doesn't always want to maintain a complicated notes system.
With MemoMate, you can simply say:
βI have to finish my DBMS assignment tonight. I'm also thinking about using a recommendation system for our college project. Priya is working with me on the project, and tomorrow I need to send Rahul the project files.β
MemoMate extracts the important information and stores it as memories.
Later, you can ask:
- βWhat do I need to do tomorrow?β
- βWhat idea did I have for the college project?β
- βWho is working with me on the project?β and MemoMate retrieves the relevant memory and answers.
Demo
The demo shows the complete flow: capture a memory β store it β ask a question β retrieve the relevant information.
Watch the demo video here
Code
GitHub:
whoaditi
/
memomate
A local AI memory assistant that remembers tasks, ideas, people and personal context.
π§ MemoMate
My friend talks. MemoMate remembers.
MemoMate is a local AI-powered personal memory assistant built for a real friend who wanted a simple way to keep track of things they say, think about, and need to remember.
Instead of manually organizing everything into separate notes, to-do lists and contacts, MemoMate lets the user tell naturally. It extracts useful information, stores it as structured memories, and lets the user ask questions about those memories later.
π Tasks Β β’ Β π‘ Ideas Β β’ Β π₯ People Β β’ Β π§ Personal Context
β¨ Features
- π Task Memory β remembers things you need to do
- π‘ Idea Memory β captures project ideas and thoughts
- π₯ People Memory β remembers people mentioned in conversations
- π Notes β stores useful personal context
- π Semantic Retrieval β finds relevant memories using embeddings
- π¬ Natural Language Questions β ask questions about your memories
- π€ Local AI β uses anβ¦
How I Built It
MemoMate is built as a local application using:
- Python
- FastAPI
- SQLite
- React
- Sentence Transformers
- Ollama
- Gemma 3:1B
When a memory is added, Gemma extracts explicitly stated information such as tasks, ideas, and people. The information is stored locally along with embeddings.
When a question is asked, MemoMate retrieves relevant memories using semantic similarity + keyword matching, then gives that context to Gemma to generate the answer.
I also added safeguards to prevent the model from inventing information that isn't present in the stored memories.
So MemoMate is deliberately instructed to:
- Use only stored memories
- Never invent facts
- Never infer relationships
- Avoid turning a task into an idea
- Return an explicit βI don't knowβ when the available memories are insufficient
Why Does Open Innovation Matter?
MemoMate handles personal information, so I wanted its core AI workflow to run locally instead of requiring a cloud AI API.
I'm using Gemma 3:1B locally through Ollama, which means the application can work without sending every memory to a remote AI service.
For me, this is the value of open AI: a model that can run on an ordinary laptop can become the foundation of a useful, privacy-conscious application without requiring a paid API or a powerful server.
Built For a Friend
I didn't want to build another generic chatbot.
I wanted to build something that solves a small but real problem:
What if you didn't have to remember to write things down in order to remember them later?
That's the idea behind MemoMate!!
Prize Categories
Best Use of Gemma
MemoMate uses Gemma 3:1B locally through Ollama for memory extraction and question answering.
Top comments (0)