Making LLM conversation structure visible for heavily revised workflows
I’ve been thinking about how LLM chat interfaces expose conversation structure.
When working through:
Iterative prompt refinement
Topic divergence
Multiple response branches
Deep planning / research sessions
The underlying interaction becomes tree-like.
Every edit creates a branch and every refinement shifts the downstream context. But the frontend presents everything as a linear scroll.
There’s no persistent structural map of user turns. Revisiting earlier prompts requires manual scrolling and visual scanning.
For light use this is fine, for heavy iterative workflows, it becomes tedious.
Idea
If users had explicit visibility into session structure: prompts, divergence points, branch counts, would iteration quality improve?
Specifically:
Faster non-linear navigation
Clearer awareness of prior context
More deliberate branching decisions
Reduced “context drift”
Experiment
I built a lightweight Chrome extension to test this hypothesis.
My approach was:
Create a minimal structural index of user prompts and expose it as a persistent sidebar for navigation.
No API integration. No content storage. Runs entirely locally.
Technical Approach
DOM Observation
Mutation observers detect new message nodes
Identifies user turns and branch controls
Extracts minimal metadata (prompt text + branch indicators)
Structural Index
Maintains in-memory mapping of:
User prompts
DOM references
Branch position markers (< 1 / n >)
Effectively builds a session map from the rendered UI.
Shadow DOM Injection
Sidebar injected via shadow DOM
Avoids CSS collision
Does not mutate host layout
Maintains isolation from upstream changes
Navigation
Clicking an indexed prompt scrolls directly to its DOM node
No rewriting of the conversation tree
Pure augmentation layer
Observation
Even this minimal indexing layer changes how long sessions feel and improves context-awareness.
Making divergence points visible (instead of hover-dependent) and instantly navigable helps to organise and review topics within conversations.
It changes user understanding and prepares them better for their next prompt.
Open Question
If users treat ChatGPT or other LLMs as:
A reasoning surface
A planning environment
A drafting workspace
Then tree-aware features may be necessary to reduce cognitive load.
Curious how others here are thinking about:
Branch visualization
Session mapping
Non-linear navigation in LLM tools
Whether chat UIs are the right abstraction long-term
This experiment currently exists as a Chrome Extension - NavGPT to validate structural indexing before exploring API-level implementations.
Would appreciate feedback from anyone experimenting with interface-level LLM augmentation.
Discussion in the ATmosphere