Chinmay Pisal

ContextTree - Branching AI chats with per-node prompts and models

by
Stop losing context when conversations branch. ContextTree turns ChatGPT-style chats into a visual canvas where every branch has its own model, system prompt, and context settings. Fork without contamination. Compare GPT vs Gemini vs Claude side by side. Built for prompt engineers, researchers & AI builders.

Add a comment

Replies

Best
Chinmay Pisal
Maker
📌
Hey Product Hunt 👋 I built ContextTree because I was sick of one stupid follow-up question torching my entire ChatGPT thread. You know the moment. You're three hours into researching something, you ask one tangent question, and suddenly the model is responding to that tangent for the rest of the conversation. Your context is poisoned. You start over. You lose everything. So I rebuilt the chat experience from scratch as a visual canvas: Every message is a node. Branches are first-class — fork any conversation without contaminating the original. Every node has its own settings. Model, system prompt, temperature, history depth, context budget. You can have a "lawyer persona" branch and a "child-friendly explainer" branch on the same canvas, both running off the same parent context. Compare models live. Run GPT-4o on one branch, Gemini Flash on another, see which one nails your task — same prompt, same context, instant comparison. Drop in your own files. RAG over uploaded docs, scoped per node via pgvector. Knowledge inherits, state doesn't. A child branch sees its ancestor's relevant snippets but never the live state of cousin branches. No cross-talk. Stack: Next.js + React Flow on the front, FastAPI + LangGraph + Postgres/pgvector on the back. Solo built, MIT license incoming. Free forever for core features. No credit card. No "book a demo." Three things I'd love your feedback on: 1. The branching UX — is it obvious what fork-from-here does? 2. Per-node settings panel — too dense, or just right? 3. What use case did I miss? I'm thinking devs and researchers, but PH always surprises me. I'll be here all day answering every comment. Roast me