Best Blog Winner

⌨️ Keychron Keyboard

The write-up that best told the tale of building with Cognee's memory layer, end to end.

M

Mahimai Raja J

Track 1: Best Use of Cognee Open Source, PR or Blog Track

Mahimai is a solo builder who shipped RealtyRecall, an always-on voice receptionist that gives solo real-estate agents a memory of every caller. What set his submission apart was the blog: a clear, honest, end-to-end account of modeling a real business as a typed Cognee knowledge graph, wiring a live voice agent to read and write that memory on every call, and watching the graph visibly grow. It is exactly the kind of “how to build X” story the Tell the Tale track was made for.

About RealtyRecall

RealtyRecall is an always-on voice receptionist for solo real-estate agents. Solo agents miss calls all day showings, driving, meetings and every missed call is a lost lead. RealtyRecall answers every call in the realtor's own voice and persona, qualifies the buyer, recommends only the agent's real connected listings, books showings on their calendar, and texts them the lead. What sets it apart is memory: it's built on a Cognee knowledge graph, so it recognizes returning callers by phone, recalls what they were looking for, and proactively surfaces newer homes near what they liked. Realtors onboard in one click by pasting their website URL. RealtyRecall crawls it into a per-tenant knowledge graph. It's fully multi-tenant (each agency isolated via Cognee NodeSets), deployed live, and includes a console that visualizes the memory graph growing in real time as calls happen.

How Cognee Powers It

Cognee is the system of record for the entire product, not just a RAG add-on. I modeled the business as a typed knowledge graph as Realtor, Listing, Neighbourhood, Buyer, and Showing DataPoints with real edges (Realtor represents Listing, Listing located_in Neighbourhood, Buyer wants_in Neighbourhood, Showing for a Buyer + Listing). Every write is tagged to a per-tenant NodeSet, and every read filters by it, so one agency's data is never visible to another as multi-tenant isolation for free. On top of that graph: 1. Grounded recall & buyer↔listing matching via SearchType.GRAPH_COMPLETION, scoped to the tenant's NodeSet, so the assistant only ever recommends the realtor's real homes and can answer "which waiting buyers match this new listing?" 2. Multi-hop reasoning: a returning buyer is recognized by phone, and we traverse buyer → the listing they liked → its neighbourhood → a newer nearby listing they haven't seen a proactive suggestion that plain vector RAG can't produce. 3. Tenant-safe market insights via GRAPH_SUMMARY_COMPLETION (chosen over chunk-based SUMMARIES specifically to keep summaries graph-scoped and prevent cross-tenant leakage). 4. A live graph visualization in the console (read via get_nodeset_subgraph) so you can watch the memory graph grow as calls happen Cognee's value made tangible. Cognee runs self-hosted (Neo4j + pgvector) behind our FastAPI backend; the LiveKit voice agent reads/writes memory through it on every call.

Building on Cognee pushed me past vector search thinking into modeling a real domain as a graph, and the NodeSet primitive made multi-tenant isolation surprisingly clean. Getting a live voice agent to read and write that graph on every call and watching the graph visibly grow was the most rewarding part. Great excuse to ship something real end-to-end.

Mahimai Raja J, on the hackathon

Disclaimer: “The Hangover Part AI” is an independent developer hackathon run by WeMakeDevs. It is not affiliated with, endorsed by, or associated with the “The Hangover” films, Warner Bros. Entertainment, or any of their rights holders. The theme is used purely for fun.