Open source, self-hostedPowered by FalkorDBFalkorDB

The company brain that knows what’s still true.

Yaan turns your team’s Slack, meetings, pull requests, tickets and docs into a time-aware graph of people, work and decisions. Ask what’s true now, what was true then, why, and who knows, with a word-for-word source for every sentence.

product ExplainabilityForce as of now graph 38,535 nodes · 96,047 edges
Enter Ask

How Yaan found it

    Answer

    Sources, checked word for word

      Quotes verified0 / 0
      Time in FalkorDB0 ms
      Graph tool calls0
      Stateidle

      Replayed from Yaan’s tool output on ExplainabilityForce, a synthetic company from Salesforce AI Research’s enterprise benchmark (the HERB paper). Tool times are the measured p50 per tool.

      Slack, GitHub, Jira, Notion and eight more tools, and any MCP client.

      • Slack
      • Linear
      • GitHub
      • Confluence
      • Jira
      • GitLab
      • Notion
      • Google Drive
      • MCP
      • Google Meet
      • Claude Code
      • Zoom
      • Cursor
      • Discord
      • Codex
      • Gmail

      Connect your tools. Yaan remembers what changed. You act on it.

      Three steps, one pipeline. Every source goes through the same path, so an answer about a Slack thread and an answer about a pull request rest on the same graph.

      1. 1

        Connect

        Slack, GitHub, Jira and Notion stream in. Every message, PR, ticket and page goes through the same pipeline.

      2. 2

        Remember

        Each change becomes a decision with a start and end date, who made it and the quote that proves it. Facts aren’t overwritten: old ones get an end date. A message deleted at its source leaves Yaan too.

      3. 3

        Act

        Ask from Claude Code, Codex, Cursor or Slack. When new talk contradicts a decision, Yaan raises an alert with its blast radius and a drafted fix. One click on Approve posts it back to Jira and GitHub.

      Slackmsg:…1bc7amsg:…ca81dmsg:…47b0c
      GitHubPR #53PR #55review
      Jiraticket reopenedKAN-1
      Notiondesign reviewspec v2
      Yaan running on FalkorDBFalkorDB
      1. 1Normalizeevery source into one shape
      2. 2Structural graphpeople, teams, channels, PR chains
      3. 3Chunks + vectorslocal embeddings, in the graph
      4. 4Link ids, URLs, namesdeterministic, no AI
      5. 5Extract eventsevery quote checked against its message
      6. 6Fold decisionswho may change what
      7. 7Expertise, communities, PageRankwho knows, who connects

      38,535 nodes 96,047 edges, one graph

      Issue Inefficient Caching Strategy

      reported
      resolved
      reopened
      6 Feb24 Feb26 Febnow
      now

      Nothing is deleted. A new fact closes the old one’s window and both stay in the graph, so “what was true on 25 Feb?” is one lookup.

      via MCP

      Claude Code ~/acme

      > anything break overnight?

      yaan · open_alerts (MCP) 12 ms

      One regression. ‘Inefficient Caching Strategy’ was marked resolved on 24 Feb 2027 and reopened on 26 Feb 2027.

      • PR #53, the fix
      • Hannah Johnson, wrote it
      • CUST-0011
      • DataSolutions

      Yaan drafted a follow-up for the Jira ticket and PR #53, quoting Bob Davis: “the customer has reopened the bug titled ‘Inefficient Caching Strategy’”

      A replay: nothing is sent from this page.
      1. Comment posted on the Jira ticket
      2. Comment posted on PR #53
      3. Your approval recorded as a decision

      Pick your client: Claude Code, Codex or Cursor see the same alerts over MCP. Approve lands in the Yaan inbox or Slack.

      Works where your team works

      Connectors for Slack, GitHub, Jira, Notion, Linear, GitLab, Confluence, Google Drive, Gmail, Discord, Google Meet and Zoom, and an MCP server for any AI agent.

      Use the Claude, Codex or Cursor subscription you already pay for.

      Connect it to Yaan over MCP and ask from where you already work. Your AI does the talking; Yaan’s graph tools hand it the facts, each with its source, and those graph lookups cost no AI tokens on Yaan’s side. Reading your team’s chat into the graph still calls an AI model with your own key; ticket status changes don’t.

      • SlackMessages in. Answers, alerts and Approve out.
      • GitHubPRs and reviews in. Comments on the PR out.
      • JiraTickets in. Comments on the ticket out.
      • NotionPages in. Comments on the page out.
      • LinearIssues in. Comments on the issue out.
      • GitLabMerge requests in. Notes on the request out.
      • ConfluencePages in. Comments on the page out.
      • Google DriveDocs in. Comments on the doc out.
      • GmailLabeled mail in. Replies in the thread out.
      • DiscordChannel messages in. Replies out.
      • Google MeetMeeting transcripts in.
      • ZoomRecording transcripts in.

      Open source. Self‑hosted. Yours.

      Yaan runs on your own servers. Your company’s knowledge stays inside your network, and every line of code that touches it is open to read: all 253 graph queries are plain files, each with a test. Licensed under Apache-2.0.

      1. Your data stays inside

        Messages, pull requests and tickets land in a graph on your own disk. Nothing leaves except calls to the AI model you pick.

      2. Nothing open to the internet

        Yaan and its database listen only inside your network, and every tool is reached over an outgoing connection. No open ports, no public URL.

      3. AI can read, never write

        Generated queries run as a read-only database user with a time limit, and a person approves every action before it posts.

      4. Costs you control

        Your own Anthropic key under a hard daily cap, or your team’s Claude, Codex or Cursor subscription over MCP. Graph lookups are free.

      5. Readable and portable

        Standard Cypher on FalkorDB, every query a file you can read. Export the whole graph to plain JSON lines with yaan export and load it into anything.

      AI model APIyour key, your daily cap

      Benchmarks

      Scored on Salesforce AI Research’s enterprise benchmark, from their HERB paper (EMNLP 2025): 399 questions from 7 products we never looked at while building, run once. Yaan runs on Claude Haiku 5.5.

      Judged score
      Results on HERB (Salesforce AI Research): held-out products, with the dev products for comparison
      SystemAvg score, held-outCustomer questionsQuotes verifiedAvg on the 3 dev products we built on
      Yaan63.654.2100%83.2
      Salesforce AI Research agent (GPT-4o) best agent in their HERB paper; different setup43.4n/an/an/a
      Yaan without the FalkorDB graph*24.20.0100%25.0
      Plain RAG9.60.098.5%14.7

      Yaan scores lower on products it has never seen (63.6) than on the ones it was built on (83.2). We report both. Scores are judged answers out of 100, not accuracy. *The same agent with search and read only: it keeps the vector and full-text search, and loses every graph query. Stale answers, on 24 hand-labeled questions about status now and on a past date: plain RAG 6.7%, search only 8.7%, Yaan 0%. Method and footnotes in eval/report.md.

      3–28 msper graph query, p50. The seconds in an answer are the model’s turns.
      ~$0.003per answer, about 1.7k tokens.
      100%of 1,009 citations quote their source word for word, checked in code.

      Search finds the message that said “fixed”. It doesn’t know the bug came back.

      Company knowledge goes stale. Statuses change, decisions get reversed, owners move on. A search-and-summarize assistant quotes whatever matched, even if it was overturned last week.

      Same question to both Is the ‘Inefficient Caching Strategy’ bug resolved?

      Asked as of 6 Mar 2027

      Drag to ask on another day. Search has no clock, so its answer never moves.

      Search and summarize Stale

      “Yes, it has been resolved.”

      Top match it trusted

      the bug titled ‘Inefficient Caching Strategy’ has been resolved.

      msg:20270224-0-ca81d Hannah Johnson, 24 Feb 2027

      Right only between 24 and 26 Feb. On every other day it is wrong.

      Yaan Current

      Stale answers on our drift test, built on Salesforce AI Research’s enterprise data

      8.7%Search only: the same agent without its graph tools
      0%Yaan, reading the decision in force

      What it does, in the product as it runs today

      Screens from Yaan’s web app, running on Salesforce AI Research’s synthetic enterprise data (from their HERB paper). Pick one to look closer.

      The Ask pane: an answer whose sentences each carry a numbered citation; pointing at one shows its highlighted source quote A decision timeline for the 'Feature Attribution Mismatch' issue, reported, dismissed, then reopened, with an as-of slider An Inbox alert naming a key person whose departure would leave components with no expert A regression alert with its blast radius drawn as a graph around the reopened issue The trace of an answer showing the exact Cypher each graph tool ran, with timings An answer viewed as a specific person, noting how many sources were hidden from that viewer

      Why FalkorDBFalkorDB

      Yaan’s answers live in the links between people, work and decisions, so the engine that holds those links decides how fast, and how right, an answer is. Yaan runs on FalkorDB: the Rust-based, in-memory graph database on Redis that stores adjacency as sparse matrices and runs traversals as linear algebra.

      Rust-based

      • 2.6×Yaan’s score with the FalkorDB graph versus without it, held-out (63.6 vs 24.2)Measured by us
      • 3–28 msp50 per graph query, on 38,535 nodes and 96,047 edgesMeasured by us
      • 496×lower p99 latency than Neo4j: 83 ms against 41,157 msFalkorDB’s benchmark
      • 6×less memory than Neo4j: 100 MB against 600 MBFalkorDB’s benchmark

      What Yaan stands on

      1. Yaan253 Cypher queries · 17 agent tools · the Sentinel
      2. Cypherpatterns, bounded paths, aggregates, UNION
      3. VectorHNSW, cosine Full-textstemmed AlgorithmsPageRank, betweenness, communities
      4. FalkorDBFalkorDB 6 engineRust · sparse adjacency matrices · linear-algebra traversal
      5. Redis 8in memory · ACL users · persistence · many graphs per server

      Point at a layer to see what Yaan uses it for.

      An answer is only as fast as its slowest lookupYaan answers a question with several graph lookups in a row, so one slow lookup holds up the whole reply. FalkorDB stays fast even on its slowest calls (p95, p99). Latency from FalkorDB’s published benchmark against Neo4j, log scale.
      FalkorDBNeo4j
      p5013×
      p95189×
      p99496×
      Graph algorithms on 820K nodes and 9.8M edges, same source
      AlgorithmFalkorDBNeo4j
      PageRank Yaan ranks who connects teams with it18.5 ms417.3 ms
      Weakly connected components17.8 ms1,324.3 ms

      Source: falkordb.com and benchmark.falkordb.com. Their numbers, their setup; ours are the two marked “Measured by us”.

      How the pieces fit

      Yaan's big picture: company data flows through the ingestion pipeline into the FalkorDB graph, which feeds the answer agent and the Change Sentinel, which feed the web UI

      The graph data model

      Yaan's graph data model: what is true and since when (Alert, Claim, Decision, Issue, Area), who (Person, Team, Customer, Company), and what was said (Artifact, Channel, Chunk, Product), with their relationships