JadenGeller
Column Chat generalizes the chat interface from two columns to many.
Core trick
Each column declares which other columns it reads and how many history turns it sees, forming a dataflow DAG of LLM calls.
Description
Column Chat generalizes the chat interface from two
columns to many. Each column declares which other
columns it reads and how much history it sees,
forming a dataflow graph. Context fans out to
columns that each maintain their own focus, then
merges back together — bringing programming concepts
like reducers and fan-out/fan-in to LLM
conversations. The structure is static and visible:
you see exactly what each column receives, edit it
live, and add columns mid-conversation that backfill
from the start. You can also describe a pipeline in
plain language and Opus 4.6 generates the full
column configuration.
README excerpt
# Column Chat **Perspectives that build on each other.** [columnchat.com](https://columnchat.com) ## Context Every LLM call is shaped by what's in its context window. Most approaches to managing this — agent orchestration, retrieval, dynamic tool selection — determine the context strategy at runtime. Column Chat takes a different approach: context is declared as a static structure that you can see and edit. A conversation is decomposed into columns. Each column has a prompt and a list of dependencies — which other columns it reads and how much history it sees. The dependencies form a DAG. You look at it and know what each column will receive. The system resolves ordering from the graph and parallelizes what it can, so you get several focused analyses back nearly as fast as one. ## Columns All columns advance in lockstep. Each message you send is a step — every column produces one value, in dependency order. The result is a grid: rows are steps, columns are processes, each cell computed from declared dependencies. Columns carry state forward and evolve together over time — this is what makes it a conversation, not a prompt chain. The interesting part is columns that read other columns. A steelman column articulates the strongest version of your position. A critic reads the steelman and constructs the best counterargument. A synthesis reads both and finds where the real tension lies. The critic never sees your messages — it reads a refined version of your argument. Each