npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@notenkidev/claude-token-dashboard

v0.2.5

Published

Visualize your Claude Code token usage by project and date

Readme

Claude Token Dashboard

Featured on Product Hunt

Visualize your Claude Code token usage by project and date — built with Next.js + Tailwind.

Quick Start (No Install)

npm install -g @notenkidev/claude-token-dashboard
claude-token-dashboard

Open http://localhost:3000

What it shows

| Section | Details | |---|---| | Summary cards | Estimated total cost · Output tokens · Input tokens · Effective input · Cache read ratio · Session count | | Daily chart | Input / output tokens per day (bar chart) | | Project table | Per-project breakdown sorted by cost, with inline bar |

Cache read tokens from prompt caching are tracked separately — you can see at a glance how much of your effective input Claude is serving from cache (typically 90%+).

Features

  • Token usage per project (output / input / cache read / cache create)
  • Daily usage chart
  • Cache read ratio
  • Estimated cost in USD per project (claude-sonnet-4-6 pricing)
  • Cost share % with warning for projects over 20% of total spend
  • Total estimated cost since first session

Quick start

npm install -g @notenkidev/claude-token-dashboard
claude-token-dashboard

Open http://localhost:3000.

Custom port:

claude-token-dashboard -p 4000

Reads ~/.claude/projects/**/*.jsonl directly — no config, no API key needed.

How it works

Claude Code writes every conversation turn to JSONL files under ~/.claude/projects/. Each assistant message includes a usage object with input_tokens, output_tokens, cache_creation_input_tokens, and cache_read_input_tokens.

This app:

  1. Scans all JSONL files at request time (server-side, no API key needed)
  2. Deduplicates by message.id (the same message can appear in multiple entries)
  3. Groups by project (cwd field) and by date (timestamp field)
  4. Renders everything as a dark-mode dashboard

Hit Refresh to re-read the files without restarting the server.

Activity Log (New in v0.1.16)

Claude Code hooks経由でリアルタイムに行動ログを取得する機能。

セットアップ

~/.claude/settings.json に以下を追加:

{
  "hooks": {
    "PostToolUse": [{
      "matcher": ".*",
      "hooks": [{
        "type": "command",
        "command": "curl -sf -X POST http://localhost:3000/api/actions -H 'Content-Type: application/json' --data-binary @- 2>/dev/null || true"
      }]
    }]
  }
}

取得できる情報

  • File reads / edits / writes
  • Bash commands(risk level付き)
  • API calls

http://localhost:3000/activity で確認できます。

Tech stack

Why I built this

I had no idea how many tokens I was burning per project in Claude Code. Turns out all the data is sitting in ~/.claude/projects/ as JSONL files — one file per session, one JSON line per turn. Parsing it took about 100 lines of Python to confirm, and a weekend to turn into something worth looking at.