spatial conversation engine

træk — follow ideas, not threads.

træk turns linear chats into a spatial canvas of branching conversations — built for AI-native products where reasoning is not linear.

Branch conversations without losing history
Navigate discussions like a map, not a log
Streaming‑first & markdown aware
Live topology preview (read‑only)

How do I get the most out of a session with an expert?

Expert session: getting the most out of it

Here’s how to make your chat with the expert effective.

Before the session

  • Clarify your goal — One main question or decision you want input on.
  • Gather context — Relevant details, what you've already tried, constraints.
  • Set expectations — Quick answer vs. deeper analysis.

During the session

  • Be specific — The more precise your question, the better the advice.
  • Share constraints — Time, budget, or team limits help the expert tailor the answer.
  • Ask one thing at a time — Follow-up threads keep the thread clear.

After the session

  • Summarize — Note the main recommendation and next steps.
  • Reuse the thread — Come back to the same expert for follow-ups.

One clear question per thread usually gets the best response.

What do you want to focus on first: framing your question, or adding context?

Scroll for more ↓

Let’s focus on framing my main question first.

Good idea. Start with: (1) What decision or outcome you need help with, (2) What you’ve already tried or considered, (3) Any constraints (time, budget). One clear sentence per part usually is enough to get a strong first answer.

Give me the custom debug information component.

Debug node INACTIVE
Node
ID 98d8cceb-dfec-4e7e-a5bd-4f55c94b5b31
Type debugNode
Role system
Parent 2de2b3c9-3179-4a27-b914-2f3c975e37f9
Position x=18, y=24, h=100
Engine
Total nodes 8
Active node 32e51b57-f6ab-449a-9dae-40873fd0ef89
Context path length 6

What if my question is very broad?

Narrow it: Turn “How do I grow?” into “What should I prioritize first: content, outreach, or pricing?” or “What’s the first change you’d make in my situation?” The expert can then go deeper in follow-up messages.

Preparing træk canvas…
Reply linked to selected message
0 FPS | 100% | Context: 6 Nodes

The problem with classic chat UIs

Most AI products still present long‑form reasoning as a single scrolling thread. That works for quick answers — but breaks down as soon as conversations become exploratory, multi‑directional, iterative, agent‑driven, and reasoning‑heavy.

Context gets buried, alternative paths are lost, and it becomes hard to see how a decision was reached.

If AI thinking branches, your UI shouldn’t stay flat.

possible paths

træk treats conversations as a navigable graph instead of a frozen log — so branching exploration is the default, not an edge‑case.

What træk gives you

træk replaces the scrolling timeline with a spatial mental model of the conversation. Each message is a node; every reply is a direction you can branch, follow, or revisit.

  • Branching conversations — explore alternatives without overwriting the main path.
  • Readable layout — parents stay above, replies fan out horizontally as complexity grows.
  • Pan & zoom canvas — move through large dialogs like a diagram, not a log.
  • Thought nodes — attach system / reasoning steps without polluting the visible path.
  • Streaming‑first — render tokens in place while keeping the topology intact.
Quick start
npm install traek
<script lang="ts">
  import {
    TraekCanvas,
    TraekEngine,
    DEFAULT_TRACK_ENGINE_CONFIG
  } from 'traek';

  const engine = new TraekEngine(DEFAULT_TRACK_ENGINE_CONFIG);

  // Canvas calls this with the text the user typed
  // and the node they're replying from (for branching).
  function onSendMessage(input, fromNode) {
    const userNode = engine.addNode(input, 'user', {
      parentId: fromNode?.id ?? null
    });

    const assistantNode = engine.addNode('', 'assistant', {
      // Parent defaults to the active node (the new user message),
      // so replies naturally branch from the message you answered.
      autofocus: true
    });

    // stream chunks into assistantNode.content here...
  }

  <TraekCanvas {engine} {onSendMessage} />
</script>

Engine + canvas, cleanly separated

træk keeps the conversation graph and the UI as separate layers:

  • TraekEngine — owns nodes, relationships, layout logic, and state.
  • TraekCanvas — renders the spatial UI, pan/zoom, and interaction.

You stay in control of message creation, streaming, persistence, and model orchestration. træk keeps everything navigable and coherent.

Built for

  • AI chat products
  • agent interfaces
  • prompt exploration tools
  • research assistants
  • reasoning‑heavy workflows
  • multi‑path generation UIs

Drop‑in integration

Use TraekCanvas as a ready‑made UI, or wire TraekEngine into your own components and render messages your way.

Stop designing AI conversations as a single thread.

træk is under active development. Try the demos, drop it into your product, and shape how spatial AI conversations feel.