{"slug": "between-us-a-private-ai-memory-companion-for-two", "title": "Between Us — A Private AI Memory Companion for Two", "summary": "A developer built Between Us, a private AI memory companion for long-distance couples that stores shared memories, photos and voice notes in a local SQLite database. The full-stack React and FastAPI application runs entirely on local open-source models via Ollama — Qwen 2.5 7B for question answering and structured memory extraction, Whisper for transcription, and nomic-embed-text for semantic retrieval — so personal memories never leave the user's machine. The system is prompted to state when a detail was not recorded rather than inventing information.", "body_md": "What I Built\n\nBetween Us is a private AI-powered memory companion that I built for someone I love in a long-distance relationship.\n\nWhen you're in a long-distance relationship, small moments can easily get lost between chats, calls, photos, and voice notes. I wanted to build something that could preserve those moments and make them easy to revisit later.\n\nBetween Us lets us:\n\nSave shared memories with titles, dates, and memory types.\n\nAttach photos directly to memories.\n\nKeep a separate private photo gallery.\n\nOrganize memories into a visual timeline.\n\nRecord/upload voice memories and automatically transcribe them.\n\nUse AI to turn voice transcripts into structured memories.\n\nAsk natural-language questions about our past memories.\n\nRetrieve relevant memories using semantic search and embeddings.\n\nInstead of just being another notes app, the goal was to make the memories searchable, understandable, and meaningful.\n\nDemo\n\n🎥 Video Demo: [https://youtu.be/b5Wcp2oPJsw](https://youtu.be/b5Wcp2oPJsw)\n\nThe demo shows the main flow of Between Us, including adding memories, attaching photos, viewing the timeline, using the photo gallery, asking AI questions, and creating memories from voice notes.\n\nCode\n\n💻 GitHub Repository: [https://github.com/DakshSinghUAI/between-us](https://github.com/DakshSinghUAI/between-us)\n\nThe project is built as a full-stack application with a React frontend and FastAPI backend.\n\nHow I Built It\n\nThe core of Between Us is built around open-source AI and local inference.\n\nAI Stack\n\nOllama — local AI inference\n\nQwen 2.5 7B — used for understanding memories, answering questions, and extracting structured memories from voice transcripts\n\nWhisper — used for speech-to-text transcription\n\nnomic-embed-text — used to generate embeddings for semantic memory retrieval\n\nApplication Stack\n\nReact + Vite — frontend\n\nFastAPI + Python — backend\n\nSQLite — memory storage\n\nSQLModel — database models\n\nEmbeddings + cosine similarity — memory retrieval\n\nLucide React + Motion — interface and animations\n\nThe AI memory flow works roughly like this:\n\nVoice Note → Whisper → Transcript → Qwen → Structured Memory → Embedding → SQLite\n\nAnd when asking a question:\n\nQuestion → Embedding → Relevant Memories → Qwen → Answer\n\nThe AI is also instructed not to invent information. If a detail wasn't recorded in the retrieved memories, it should say that the information wasn't recorded rather than making something up.\n\nWhy Does Open Innovation Matter?\n\nPrivacy is especially important for this project because the memories stored in Between Us can be very personal.\n\nUsing local open-source AI means the core AI processing can happen on my own computer instead of requiring every private memory to be sent to a closed third-party AI API.\n\nWith Ollama and an open-weight model like Qwen, I can:\n\nRun the AI locally.\n\nKeep personal memories under my control.\n\nExperiment with different models.\n\nChange the AI behaviour and prompts myself.\n\nBuild without depending on a paid proprietary AI API for the core functionality.\n\nContinue developing even when an external AI service isn't available.\n\nFor this project, open innovation isn't just about avoiding an API cost. It gives me more control over privacy, models, experimentation, and how the AI interacts with personal data.\n\nThat made local open-source AI a natural fit for something as personal as Between Us.\n\nMy Agent Session\n\nOptional — I did not use DevRelay for this project.\n\nPrize Categories\n\nI am not entering any partner-specific prize category.\n\nThe project is being submitted for the overall Hacktoberfest Weekend Challenge: Build for a Friend.\n\n<!-- Thanks for participating --!>", "url": "https://wpnews.pro/news/between-us-a-private-ai-memory-companion-for-two", "canonical_source": "https://dev.to/daksh_jhala_fa25c6207cbb5/between-us-a-private-ai-memory-companion-for-two-31n4", "published_at": "2026-10-04 21:07:07+00:00", "updated_at": "2026-10-04 21:12:36.849309+00:00", "lang": "en", "topics": ["artificial-intelligence", "ai-tools", "large-language-models", "ai-agents", "natural-language-processing"], "entities": ["Between Us", "Ollama", "Qwen 2.5 7B", "Whisper", "nomic-embed-text", "FastAPI", "React", "SQLite"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/between-us-a-private-ai-memory-companion-for-two", "markdown": "https://wpnews.pro/news/between-us-a-private-ai-memory-companion-for-two.md", "text": "https://wpnews.pro/news/between-us-a-private-ai-memory-companion-for-two.txt", "jsonld": "https://wpnews.pro/news/between-us-a-private-ai-memory-companion-for-two.jsonld"}}