product · private beta

A workspace that retrieves itself.

Tree on the left, editor in the middle, chat on the right. Every node is a typed row, every edit round-trips as markdown, and every answer is grounded in the same store your team edits.

Three views. One store.

zone 01tree

A typed knowledge graph.

Everything is a node: docs, tasks, decisions, meetings, bugs, runbooks, people. Each one has a typed kind, a markdown body and edges to others. Backlinks come free.

  • slug historyrenames never break links
  • typed edgesimplements, blocks, related
  • stable idsthe citation surface of the API
zone 02editor

Markdown that round-trips.

Slash menu inserts typed blocks, @mentions create real edges, frontmatter carries the metadata. Everything serializes to clean markdown you can paste anywhere.

  • / menutask, decision, meeting, citation
  • @mentionstyped links, visible in the graph
  • citations in placechips open the source row
zone 03chat

Answers with rows, not chunks.

Hybrid retrieval over the same store you edit. Every citation resolves to a node id, and agent replies arrive as proposals you review like pull requests.

  • citations resolveclick one, the source opens
  • streaminglive answer with citation chips
  • proposalsaccept or reject each change

Built for your agents too.

The same graph your team edits is a first-class surface for agents: an MCP server, a REST API and a CLI, all reading and writing the same typed rows, with citations they can point back to.

  • MCP serverconnect Claude, Cursor or any MCP client
  • REST APIread context, write nodes, idempotent re-runs
  • llms.txt · agents.jsonagents discover the conventions on their own
an agent reading the graph
POST /mcp · tools/call: context_search
{ "query": "pricing decision" }

3 nodes · 412 tokens · 0.4s
  meeting   Weekly sync · March 4
  decision  Three tiers: Free / Team / Scale
  task      Prepare the pricing page

Connect what you already use.

One-time imports flow into typed nodes, live mirrors keep the graph current, and outbound webhooks fire on every write.

  • slackthreads and pins become nodes; proposals go to a review channel
  • google meetcalls arrive as meeting nodes with decisions extracted
  • notionone-time import: pages to docs, sub-pages to folders
  • drivefiles land as typed doc nodes, kept current
  • githubmirror to a private repo; PR comments resolve node ids
  • lineartwo-way sync between issues and task nodes

See it with your own data.

We're in private beta, onboarding in waves. Connect a tool and watch the field light up.