Strata

Visualize every Claude Code session as a 3D topographic terrain. Drill down into projects, explore peaks of token usage, and resume past conversations — all from your browser, running entirely on your machine.

Strata demo
Quick Start
# clone & run
git clone https://github.com/light-handle/strata.git
cd strata
npm install
npm run dev

# open http://localhost:5173

Features

Tactical Terrain Map

Gaussian-smoothed heightfield with 12-level contour lines via marching squares. Military thermal color ramp from navy through teal and amber to gold. Every peak labeled with project name and token count.

Project Drill-Down

Three-level navigation: projects overview with treemap tiles → project detail with session cards and token bars → full session info. Selecting a project highlights its peaks on the terrain and dims everything else.

Conversation Timeline

Full-width modal with the entire conversation. Prompts, responses, thinking blocks, tool calls, and subagent invocations — collapsible sections, smart previews, and time gap indicators.

Session Replay

Watch conversations unfold in real-time. Character-by-character typing animation with blinking cursor. Play/pause, scrubber bar, speed controls (1x–8x), and skip. Uses actual timestamp gaps between messages.

Tool Execution Gantt Chart

Wide-screen Gantt chart showing every tool call on a time axis. Color-coded by tool type, parallel tools on separate rows. Hover for details, click for full input JSON. Shows total execution time and max parallelism.

Subagent Tree

Dedicated tree visualization for sessions with subagents. Shows date/time for each agent, and automatically groups parallel executions — agents launched within seconds of each other. Click any node to load its full conversation.

Live Updates

WebSocket + chokidar watches your Claude files in real-time. Start a session in another terminal and watch the terrain grow as tokens flow.

Resume Sessions

One click to resume any past session. Opens a terminal with claude --resume so you can pick up exactly where you left off.

⌘K

Command Palette

Fuzzy search across sessions, projects, and actions. Navigate the entire dashboard from your keyboard without touching the mouse.

Three-Level Drill-Down

1

Projects Overview

Tile grid with mini session treemaps. Each tile shows relative token usage. Scrollable project list with activity indicators below.

2

Project Detail

Stats dashboard (sessions, tokens, messages). All sessions listed as cards with token bars and prompt previews. Terrain highlights this project's peaks.

3

Session Detail

Full session breakdown: first/last prompts, token grid (input/output/cache), tool usage bars, message counts, and a resume button. Camera flies to the peak.

How It Works

1

Scans your local Claude data

Reads all .jsonl session files from ~/.claude/projects/ — the directory Claude Code uses to store conversation history.

2

Extracts session metadata

Parses every message to extract token usage (input, output, cache read, cache create), tool calls, models, timestamps, prompts, and response summaries.

3

Builds the terrain

Maps sessions onto a 2D grid (time × project), applies Gaussian smoothing, generates contour lines via marching squares, and assigns vertex colors from a thermal ramp.

4

Renders in your browser

Three.js renders the heightfield with contour lines, diamond markers, and scan beams. React powers the panels. D3 draws the charts. All connected via WebSocket for live updates.

Keyboard Shortcuts

⌘K Command palette
C Open Chat modal
T Open Tools Gantt
A Open Agents tree
Esc Close / back

Roadmap

Conversation Timeline

Full-width modal with prompts, responses, thinking blocks, tool calls, and subagent invocations.

Tool Execution Gantt Chart

Wide-screen D3 Gantt chart with color-coded bars, parallel row detection, hover tooltips, and click-to-inspect.

Subagent Tree

Dedicated tree visualization with parent/subagent navigation and full conversation loading per node.

Session Replay

Character-by-character typing animation with play/pause, scrubber, speed controls (1x–8x), and real timestamp gaps.

Built With

React 18 TypeScript Three.js React Three Fiber D3.js Tailwind CSS Express WebSocket Chokidar Vite