← the lab · the atelier

Sheet 520 · AI interface

Branching AI chat on a canvas

MindAI, a chat tool where every prompt and reply is a node on an infinite canvas, so a conversation can branch, merge and switch models; I built it over three weeks in February 2026 and never deployed it.

What it is

PromptReplyfrom one modelBranchthe same prompt,another modelNew promptboth replies as input,in the order I setReplystreamed into a newnodePromptReplyfrom one modelBranchthe sameprompt,another modelNew promptboth repliesas input, inthe order IsetReplystreamed intoa new node
FIG. 1Branch, then merge. Any node can start a branch, and a prompt can take several nodes as its input. Each node can use a different model, hosted or local.
Source: MindAI README and git history

MindAI is a chat tool without a single thread. Every prompt and every reply is a node on an infinite canvas, so a conversation can split, try two directions and come back together.

Around that sit the parts that make a canvas usable for thinking. A good reply can be saved as a memory and attached to a later prompt. Six built-in personas, among them a devil's advocate and a Socratic questioner, give a node its own way of reasoning. A long reply can be split into sections, each one a node you can branch from.

What happened

I built it alone in February 2026: 227 commits between the 5th and the 27th. Most of the work went into the canvas itself: undo, copy and paste, search, automatic layout.

From mid February, each new feature started as a short design note and a plan; the repository holds 19 of them. Two of the last ones planned a knowledge graph built from the saved memories. It was never built. I never deployed the app either, and the code has stayed in a private repository since the end of February.

← Talking to my assistant by voice · all lab sheets · Ramen journal →