<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[MeetMind AI]]></title><description><![CDATA[MeetMind AI]]></description><link>https://meetmind-ai.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Wed, 04 Nov 2026 13:03:19 GMT</lastBuildDate><atom:link href="https://meetmind-ai.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How I Built a Relationship Memory System That Gets Smarter Every Time You Log a Meeting]]></title><description><![CDATA[Most CRMs remember data. MeetMind AI remembers people. There's a difference. Data is a field in a database — a phone number, a job title, a company name…]]></description><link>https://meetmind-ai.hashnode.dev/how-i-built-a-relationship-memory-system-that-gets-smarter-every-time-you-log-a-meeting</link><guid isPermaLink="true">https://meetmind-ai.hashnode.dev/how-i-built-a-relationship-memory-system-that-gets-smarter-every-time-you-log-a-meeting</guid><dc:creator><![CDATA[Gauri Salaskar]]></dc:creator><pubDate>Mon, 15 Jun 2026 15:06:08 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/6a300cade4fc5e0b67b3ac69/4110f657-4d1b-4d48-815c-f15339416519.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Most CRMs remember data. MeetMind AI remembers people.</p>
<p>There's a difference. Data is a field in a database — a phone number, a job title, a company name. But people are layered. They're the cricket fan who's also allergic to nuts. The founder who was inspired by their banker father. The friend who's reading Zero to One and planning a trip to Manali after exams. That's what CRMs miss — and that's exactly the gap I set out to close.</p>
<h3><em><strong>What I Built</strong></em></h3>
<p>MeetMind AI is a relationship intelligence platform. At its core, it does something deceptively simple: it remembers people for you. Not just their name and email, but the things that actually matter — what you talked about last time, what you promised to send them, what you learned about their life, and what's still unresolved between you.</p>
<p>The stack is straightforward: a Flask backend, a React + Tailwind frontend, MongoDB for structured data, and two AI layers — Hindsight by Vectorize (<a href="https://hindsight.vectorize.io/">https://hindsight.vectorize.io/</a>) for persistent relationship memory, and an LLM for generation.</p>
<p>The result is a system where every time you log a meeting, the AI gets smarter about that person. By your third meeting, it's not just recalling facts — it's surfacing insights you'd forgotten you'd even noticed.</p>
<p><strong>The Architecture: Three Layers of Memory</strong></p>
<p>One of the first decisions I had to make was where memory lives. There are three distinct layers:</p>
<p>MongoDB handles structured data — contacts, meetings, reminders, user accounts. This is the backbone. CRUD operations, dashboards, timelines. Fast, predictable, easy to query.</p>
<p>Hindsight (<a href="https://github.com/vectorize-io/hindsight">https://github.com/vectorize-io/hindsight</a>) handles the evolving memory of each relationship. Every contact gets their own isolated memory bank, namespaced like this:</p>
<p>bank_id = f"user_{user_id}<em>contact</em>{contact_id}"</p>
<p>This isolation is intentional. Each contact's memory stays completely separate, so recalling facts about one person doesn't bleed into another. When you log a meeting, the content is retained into that bank. When you ask for a meeting prep brief, the system recalls relevant memories from that bank and feeds them to the LLM as context.</p>
<p>The LLM handles generation — turning recalled memories and structured data into polished, human-readable output: meeting prep briefs, relationship summaries, conversation starters, and natural language search results.</p>
<p>The key insight is that the LLM doesn't hold memory itself. It's stateless. The memory lives in Hindsight, and the LLM just reasons over whatever gets recalled for a given request.</p>
<p><strong>How Retain and Recall Work in Practice</strong></p>
<p>Every time a meeting is logged, the backend builds a structured text block from the meeting fields and calls hindsight.retain(). When a user requests a meeting prep brief, the backend first calls hindsight.recall() to fetch relevant memories, then passes those memories to the LLM as context.</p>
<p>The recall query is semantic, not keyword-based. When you ask "who likes cricket?", Hindsight doesn't scan for the word "cricket" — it understands the intent and surfaces the relevant memory even if the original note was phrased differently.</p>
<p><strong>The AI Memory Search Feature</strong></p>
<p>This was the most technically interesting feature to build. The idea: a user types a natural language query like "who is building a fintech startup?" and the system returns matching contacts with reasons.</p>
<p>The challenge is that you can't run a single query across all Hindsight banks at once — each contact has an isolated bank. So the system runs recall across all contacts, collects the ones with matching memories, then passes the candidates to the LLM to rank and explain.</p>
<p>In practice, this works surprisingly well. After logging three meetings with a contact who mentioned a fintech startup, querying "who is building something in payments?" correctly surfaces them — even though the word "payments" never appeared in any meeting note.</p>
<p><strong>What Gets Better Over Time</strong></p>
<p>The system has a compounding effect. The first meeting brief is basic — it mostly uses the notes you wrote at contact creation. By the third meeting, Hindsight has retained multiple sessions of personal details, commitments, and discussion history. The fourth recall is noticeably richer.</p>
<p>A contact with five meetings where you logged personal details and action items scores near 100 — a "Deep Relationship." One you've never met scores 10 — a "New Connection." The score drives a Memory Ring in the UI that gives users a visual sense of relationship depth at a glance.</p>
<p><strong>What I Learned</strong></p>
<p>Memory architecture is a design decision, not just a technical one. How you structure what gets retained — and how granular the recall queries are — has a huge impact on output quality. Vague retain calls produce vague recall results. Structured, tagged content produces sharp, specific insights.</p>
<p>Isolation matters at scale. Giving each contact their own Hindsight bank means recall is always scoped and fast. It also means you never get cross-contact bleed — a real risk if you tried to store everything in one flat memory store.</p>
<p>The LLM is the wrong place to hold state. Early designs tried to pass full conversation history to the LLM on every request. This doesn't scale — context windows fill up, costs spike, and older information gets lost. Agent memory (<a href="https://vectorize.io/what-is-agent-memory">https://vectorize.io/what-is-agent-memory</a>) that lives outside the model, in a retrieval layer like Hindsight, is the right architecture for anything that accumulates over time.</p>
<p>Graceful degradation is worth designing in explicitly. Hindsight is optional — if it's not configured, the app still works. The LLM generates from structured MongoDB data and contact notes instead. The output is less rich, but the system doesn't break.</p>
<p><strong>What's Next</strong></p>
<p>Proactive reminders driven by memory — not just "follow up in 7 days," but "you promised to send Aryan the Razorpay docs two weeks ago and haven't."</p>
<p>Multi-contact memory search with relationship graphs — who knows who, and what's the chain of connection.</p>
<p>Voice logging — log meetings from a phone by talking, not typing.</p>
<p>The core insight driving all of this is simple: the more you put in, the smarter it gets. That's what good relationship memory should feel like.</p>
<p>MeetMind AI uses Hindsight by Vectorize (<a href="https://github.com/vectorize-io/hindsight">https://github.com/vectorize-io/hindsight</a>) for persistent agent memory. Learn more about agent memory architecture at <a href="https://vectorize.io/what-is-agent-memory">https://vectorize.io/what-is-agent-memory</a> and Hindsight docs at <a href="https://hindsight.vectorize.io/">https://hindsight.vectorize.io/</a></p>
<p><code>AI</code>, <code>Python</code>, <code>WebDevelopment</code>, <code>MachineLearning</code></p>
]]></content:encoded></item></channel></rss>