Built this because I kept coming back to long Claude Code sessions
with no idea what had happened — which task was done, which was stuck,
how close to context overflow.
The trickiest part technically: context health calculation. The naive
approach (summing all input_tokens across the session lifetime) gives
wildly inflated numbers. The correct approach is using only the LAST
message's input_tokens + cache_read_input_tokens — that's what's actually
in the context window right now.
Builder here. Happy to answer questions.
Built this because I kept coming back to long Claude Code sessions with no idea what had happened — which task was done, which was stuck, how close to context overflow.
The trickiest part technically: context health calculation. The naive approach (summing all input_tokens across the session lifetime) gives wildly inflated numbers. The correct approach is using only the LAST message's input_tokens + cache_read_input_tokens — that's what's actually in the context window right now.
Stack: Fastify + chokidar (file watcher) + SSE + Next.js static export. Zero telemetry, everything local.