A browser-based dashboard for measuring the impact of Claude Code optimization tools - Graphify, Claude-Mem, and opusplan - using your own session data from ccusage.
No installation. No backend. Paste your data, read your results.
Graphify, Claude-Mem, and opusplan don't report on themselves. ccusage gives you raw token counts but no tool attribution. If your cache hit ratio improved, you don't know if that was Graphify, Claude-Mem, the mix of tasks you ran, or something else entirely.
This tool surfaces the fingerprints each optimization leaves in your session data so you can see what's actually working.
Step 1 - Export your ccusage session data:
# Windows
ccusage session --json > ccusage-output.json
# Mac/Linux
ccusage session --json > ccusage-output.jsonIf ccusage isn't installed:
npm install -g ccusageStep 2 - Open the dashboard, paste the JSON, click Load JSON.
Step 3 - Read your metrics.
Cache hit ratio - Graphify's fingerprint. When Graphify is working, Claude loads pre-indexed graph nodes instead of reading raw files. Those show up as cache reads. Above 60% consistently means the graph is doing its job. Below 20% means something isn't wiring up.
Session profile - Each session is auto-classified as Graphify strong (>35% cache hit), Graphify light (15-35%), Mem active (high cache creation relative to input), or Baseline.
Model cost breakdown - opusplan's fingerprint. Multi-model sessions that involve Opus are your planning cost. The ratio of Opus sessions to Sonnet sessions tells you whether your planning-execution split is routing the way you think it is.
Token trend - First half vs. second half of your session history. Decreasing total tokens over time means the optimization stack is compounding. Increasing means task complexity is growing faster than efficiency gains.
Claude-Mem's impact doesn't surface cleanly in ccusage session data. Its signal lives in a different place - the MEMORY.md it builds per project, the observer sessions it maintains, the compressed context it injects at session start. The near-zero raw input ratio in your data is partly Claude-Mem working, but it can't be isolated from Graphify's contribution without reading a separate data source. That's a known limitation and a v2 problem.
The dashboard calculates costs at standard API rates (Opus 4.7 at $5/$25, Sonnet 4.6 at $3/$15, Haiku 4.5 at $1/$5 per million input/output tokens). If you're on Claude Max, these figures show API-equivalent weight, not what you actually paid. They're useful for understanding relative cost distribution across sessions and models.
Built while trying to measure whether Graphify was actually working on the PRFRM codebase. The measurement problem turned out to be more interesting than the measurement. Full writeup on Medium.
Issues and PRs welcome. The Claude-Mem measurement problem is the obvious next thing to solve - if you have ideas for surfacing observer session data in a way that's readable without requiring filesystem access, open an issue.
Built by Frank Pizzuta