Canvas Chat: Building a Visual Interface for Nonlinear LLM Thinking
Alternatively titled: ‘What if you could see your LLM conversations as a map of your thinking?’
Hello fellow datanistas!
Ever found yourself deep in an LLM chat, wanting to branch off in a new direction—only to lose your train of thought or context? That was me, again and again, until I finally decided to build the tool I wished existed.
This post is about Canvas Chat: an open-source, visual, nonlinear interface for thinking with LLMs. I’ll share why I built it, how it works, and what I learned along the way—especially for those who’ve ever felt boxed in by linear chat interfaces.
The idea for Canvas Chat had been simmering since last January: what if LLM conversations could branch, merge, and form a visible map of your thinking? For a long time, it felt out of reach—my browser and UI skills weren’t up to the task, and the implementation cost seemed too high for a side project.
But a Christmas break ultralearning sprint (and some pressure-testing of Claude Opus 4.5) changed my mind. Suddenly, it felt possible to prototype this in a day. I went from idea to working prototype in about 24 hours, then spent another day refining and deploying it. The result: Canvas Chat.
Here’s the core problem: linear chat forces nonlinear thinking into a straight line. You lose context, copy-paste between windows, and struggle to synthesize ideas across sessions. Canvas Chat solves this by letting you branch from any message, highlight and drill into specific ideas, and even merge multiple threads for synthesis—all on an infinite canvas.
Some features I’m excited about:
Branching: Reply to any node, not just the latest, and see your thinking split visually.
Highlight & Branch: Select text, ask a follow-up, and keep the original intact while exploring new directions.
Multi-select & Merge: Combine threads, ask synthesis questions, and let the LLM see the full context.
Matrix Evaluation: Evaluate options against criteria in a matrix, fill cells with LLM help, and pin insights for further exploration.
Web Search & Deep Research: Integrate neural search and multi-step research directly into your canvas.
Local-first, Multi-provider: No server-side storage, open source, and supports multiple LLM providers.
Building this reinforced a lesson: you don’t need to be a UI expert to ship something useful. I stayed in product builder mode, described what I wanted, and let the LLM handle the mechanics. The creative work—deciding what nonlinear chat should feel like—remained human.
If you want to try Canvas Chat, it’s open source and easy to run locally. All the details (and the why behind each feature) are in the full blog post.
You don’t have to settle for linear thinking with LLMs—Canvas Chat lets you map, branch, and synthesize your ideas visually, making complex exploration possible.
Have you ever wished you could branch or merge your LLM conversations? What would your ideal interface for thinking with AI look like?
Curious to see Canvas Chat in action or want to try it yourself? Read the full post for details, screenshots, and setup instructions: Canvas Chat: A Visual Interface for Thinking with LLMs. I’d love your feedback—let me know what works, what doesn’t, or what you’d build next.
Cheers,
Eric
P.S. Friends who are hiring have been sharing job postings. For those interested in the life sciences, here is one roles that I know of that has opened up: Product Line Manager, Digital M&S AI Solutions, Sanofi, referred by my friend Yunke Xiang.

