MemoryMate β€” Turning Friend Conversations Into Memories A developer built MemoryMate, an AI-powered personal memory assistant that ingests conversations, notes, screenshots, PDFs, and transcripts and answers natural-language questions about them with source context. The system combines Gemma for memory extraction and grounded responses with Tiger Data (PostgreSQL plus vector search) for hybrid semantic and structured retrieval, and includes a "Friend Mode" that builds per-person profiles of preferences, dates, and interests. The backend is built with FastAPI and deployed on Render, with a React frontend, and the code is available on GitHub. This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend https://dev.to/challenges/hacktoberfest-weekend-2026-10-01 🧠 MemoryMate β€” An AI built to help a friend remember the little things. Friends talk about hundreds of things β€” ideas, plans, birthdays, recommendations, and random conversations. But sometimes we forget the details that matter: β€œWhat did I say I wanted?” β€œWhen did we talk about that?” β€œWhat was that idea we discussed?” I built MemoryMate to help a friend find those memories again β€” without searching through hundreds of messages. MemoryMate is an AI-powered personal memory assistant that helps you remember important things from your conversations, notes, screenshots, PDFs, transcripts, and plans. Instead of scrolling through hundreds of messages, you can simply ask: πŸ’¬ β€œWhat were the startup ideas Rahul and I discussed?” πŸ’¬ β€œWhen did I say my interview was?” πŸ’¬ β€œWhat movie did my friend recommend?” πŸ’¬ β€œWhat does Rahul like?” MemoryMate searches your personal memories, finds the relevant context, and gives you an answer with the original source so you can verify where the information came from. ✨ Friend Mode The most interesting part is Friend Mode. MemoryMate can build a lightweight memory profile for each friend: Rahul ❀️ Football Β· Gaming πŸš€ College Startup 🎧 Looking for headphones πŸŽ‚ Birthday Β· May 18 And this enables one of my favorite features: πŸ’‘ β€œYou mentioned this before…” Imagine saying: β€œI need a birthday gift for Rahul.” MemoryMate can look through previous conversations and respond: You mentioned this before: Rahul has been looking for headphones and has recently been talking about gaming. He also likes football. Instead of just answering questions, MemoryMate helps you remember the people you care about. πŸš€ Render Link: https://memorymate-lr5k.onrender.com/ https://memorymate-lr5k.onrender.com/ πŸ’» GitHub: https://github.com/yogesh147/memorymate https://github.com/yogesh147/memorymate The repository contains the frontend, backend, AI pipeline, memory retrieval system, and supporting infrastructure used to build MemoryMate. MemoryMate is built around open-weight AI, semantic search, structured memory, and retrieval-augmented generation RAG . πŸ“„ Conversations πŸ“ Notes πŸ–ΌοΈ Screenshots πŸ“‘ PDFs πŸŽ™οΈ Transcripts β”‚ Ingestion Pipeline β”‚ Extract β€’ Chunk β€’ Structure β”‚ Memory Extraction β”‚ People β€’ Dates β€’ Facts β€’ Preferences β”‚ Tiger Data PostgreSQL + Vector Search | Hybrid Retrieval β”‚ Gemma β”‚ Answer + Source Context 🧠 Gemma β€” The Intelligence Use Gemma as the open-weight language model powering the AI layer. Gemma is used for: Extracting useful memories from conversations Identifying people, dates, preferences, and events Understanding natural-language questions Reasoning over retrieved memories Generating grounded responses Building Friend Mode profiles Rather than treating the LLM as a simple chatbot, Use as part of a memory pipeline where retrieved information provides the context for each answer. πŸ—„οΈ Tiger Data β€” The Memory MemoryMate uses Tiger Data as the database and vector-search layer. A memory contains both semantic and structured information: Memory β”œβ”€β”€ Content β”œβ”€β”€ Embedding β”œβ”€β”€ Person β”œβ”€β”€ Timestamp β”œβ”€β”€ Conversation β”œβ”€β”€ Source β”œβ”€β”€ Confidence └── Metadata This allows the application to combine: Semantic search β€œWhat did Rahul say about his startup?” with: Structured search β€œFind things Rahul said about his startup in August.” That combination makes personal-memory retrieval much more useful than relying on vector similarity alone. πŸš€ Render β€” The Application Use Render to deploy the MemoryMate backend and expose the application through a production API. The backend is built with FastAPI, while the frontend is built with React. This gives me a simple architecture: React ↓ FastAPI ↓ Memory / Retrieval Layer ↓ Tiger Data + Gemma πŸ” Privacy & Local AI Personal memories are sensitive. That's why I designed MemoryMate around open-weight models and local inference. The architecture can be adapted to run AI inference locally, giving users more control over where their memories and personal information are processed. The goal isn't just to make AI remember more. It's to explore how AI can remember more responsibly. Open innovation allowed me to combine open-weight AI, vector search, local inference, and open-source tools into a privacy-focused personal AI. For a product handling personal memories, this control matters. Instead of relying entirely on a closed API, developers can customize how memories are extracted, stored, searched, and processed. MemoryMate shows how open AI can become more than a chatbot β€” it can become a personal memory layer. I'm entering MemoryMate for: 🟣 Best Use of Render - powers the deployed MemoryMate backend and API. 🟒 Best Use of Gemma - powers memory extraction, reasoning, Friend Mode and grounded responses.