<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: notenki</title>
    <description>The latest articles on DEV Community by notenki (@notenkitoclientcpu).</description>
    <link>https://dev.to/notenkitoclientcpu</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3965417%2Fdc46452f-0b6f-457d-8a20-f32f61f6d7ab.png</url>
      <title>DEV Community: notenki</title>
      <link>https://dev.to/notenkitoclientcpu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/notenkitoclientcpu"/>
    <language>en</language>
    <item>
      <title>We launched on Product Hunt today — here's what we shipped</title>
      <dc:creator>notenki</dc:creator>
      <pubDate>Wed, 10 Jun 2026 06:45:24 +0000</pubDate>
      <link>https://dev.to/notenkitoclientcpu/we-launched-on-product-hunt-today-heres-what-we-shipped-3ed9</link>
      <guid>https://dev.to/notenkitoclientcpu/we-launched-on-product-hunt-today-heres-what-we-shipped-3ed9</guid>
      <description>&lt;h1&gt;
  
  
  We launched on Product Hunt today — here's what we shipped
&lt;/h1&gt;

&lt;p&gt;Today I launched Claude Token Dashboard on Product Hunt.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://www.producthunt.com/posts/claude-token-dashboard" rel="noopener noreferrer"&gt;https://www.producthunt.com/posts/claude-token-dashboard&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here's what happened in the last two weeks.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where it started
&lt;/h2&gt;

&lt;p&gt;I had no visibility into what Claude Code was doing.&lt;/p&gt;

&lt;p&gt;The cost was showing up in my billing. But which project? &lt;br&gt;
Which session? What was the AI actually doing?&lt;/p&gt;

&lt;p&gt;Turned out all the data was sitting on my machine the whole time —&lt;br&gt;
&lt;code&gt;~/.claude/projects/&lt;/code&gt; — every session logged as JSONL.&lt;/p&gt;

&lt;p&gt;So I built a dashboard to read it locally.&lt;/p&gt;


&lt;h2&gt;
  
  
  What shipped (v0.1.x → v0.2.2)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Token &amp;amp; Cost Visibility&lt;/strong&gt;&lt;br&gt;
Token usage and dollar cost by project. &lt;br&gt;
Plan-aware: Pro/Max shows token volume, API shows dollar cost.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Today's Summary + Month Projection&lt;/strong&gt;&lt;br&gt;
Today's cost, tokens, actions, active projects — at a glance.&lt;br&gt;
Plus: "based on this month's pace, you'll spend $XXX by month end."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Activity Log&lt;/strong&gt;&lt;br&gt;
Every file read, command executed, API call — risk-labeled, timestamped, live.&lt;br&gt;
Captured via Claude Code hooks. Nothing leaves your machine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pre-execution Alerts&lt;/strong&gt;&lt;br&gt;
High-risk actions (rm, delete, format…) flagged BEFORE they run.&lt;br&gt;
Red banner appears on dashboard. The beginning of "stop, not just watch."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Score&lt;/strong&gt;&lt;br&gt;
Your Claude Code environment scored out of 100.&lt;br&gt;
Checks permissions, denied paths, strictMode, hooks.&lt;br&gt;
Shareable. Per-project scoring included.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CLAUDE.md Editor&lt;/strong&gt;&lt;br&gt;
See the size of your CLAUDE.md. Click to view and edit it directly.&lt;br&gt;
It's re-sent every turn — most people don't realize how much it costs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Export&lt;/strong&gt;&lt;br&gt;
Activity logs as CSV or JSON. Full dashboard report as JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Intelligence Tab&lt;/strong&gt;&lt;br&gt;
47 projects scored by cognitive load.&lt;br&gt;
Stagnation days. Error rate. What deserves your attention next.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI Assist Hints&lt;/strong&gt;&lt;br&gt;
Click any project → get an AI-generated suggestion on how to unblock it.&lt;br&gt;
On-demand. Cached. Uses claude-sonnet-4-20250514 locally.&lt;/p&gt;


&lt;h2&gt;
  
  
  The reaction
&lt;/h2&gt;

&lt;p&gt;Zhangcan Ding (@jason_dingzc) made an explainer video before launch:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"what your AI spent" is table stakes.&lt;br&gt;&lt;br&gt;
"what deserves your attention" is the real insight.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That framing is sharper than anything I wrote myself.&lt;/p&gt;

&lt;p&gt;temp.md (@ship_temp_md) said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;turning token spend into what deserves attention next&lt;br&gt;&lt;br&gt;
is a much better loop than just another usage chart.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Both nailed it.&lt;/p&gt;


&lt;h2&gt;
  
  
  Where this is going
&lt;/h2&gt;

&lt;p&gt;This started as a cost visibility tool.&lt;/p&gt;

&lt;p&gt;It's becoming something bigger:&lt;br&gt;
the audit layer AI agents have been missing.&lt;/p&gt;

&lt;p&gt;Token Visibility → Agent Activity Log → Agent Security → Agent Control&lt;/p&gt;

&lt;p&gt;The data was always on your machine.&lt;br&gt;
I'm just making it visible — and eventually, actionable.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @notenkidev/claude-token-dashboard
claude-token-dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;GitHub: &lt;a href="https://github.com/notenkitoclient-cpu/claude-token-dashboard" rel="noopener noreferrer"&gt;https://github.com/notenkitoclient-cpu/claude-token-dashboard&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Would love to hear what you're seeing in your own data.&lt;/p&gt;

</description>
      <category>claudecode</category>
      <category>buildinpublic</category>
      <category>producthunt</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I added real-time activity logging and security scoring to my Claude Code dashboard</title>
      <dc:creator>notenki</dc:creator>
      <pubDate>Fri, 05 Jun 2026 09:21:49 +0000</pubDate>
      <link>https://dev.to/notenkitoclientcpu/i-added-real-time-activity-logging-and-security-scoring-to-my-claude-code-dashboard-33nh</link>
      <guid>https://dev.to/notenkitoclientcpu/i-added-real-time-activity-logging-and-security-scoring-to-my-claude-code-dashboard-33nh</guid>
      <description>&lt;h1&gt;
  
  
  I added real-time activity logging and security scoring to my Claude Code dashboard
&lt;/h1&gt;

&lt;h2&gt;
  
  
  The problem with just seeing costs
&lt;/h2&gt;

&lt;p&gt;Knowing how much you spent is useful.&lt;br&gt;
But it's not enough.&lt;/p&gt;

&lt;p&gt;The real question is: &lt;strong&gt;what is your AI actually doing?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Which files did it read?&lt;br&gt;
Which commands did it run?&lt;br&gt;
Is your environment even safe to run it in?&lt;/p&gt;

&lt;p&gt;I couldn't answer any of those. So I built the answers in.&lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff72npe02av61bp5wz13y.png" alt=" " width="800" height="433"&gt;
&lt;/h2&gt;
&lt;h2&gt;
  
  
  What's new in v0.1.17
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Activity Log — see every action in real-time
&lt;/h3&gt;

&lt;p&gt;Claude Code logs everything via hooks.&lt;br&gt;
Every file read. Every command executed. Every API call.&lt;br&gt;
Risk-labeled. Timestamped. Live.&lt;/p&gt;

&lt;p&gt;Set it up once in &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"PostToolUse"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"matcher"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;".*"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"hooks"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"curl -sf -X POST http://localhost:3000/api/actions -H 'Content-Type: application/json' --data-binary @- 2&amp;gt;/dev/null || true"&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then open &lt;code&gt;http://localhost:3000/activity&lt;/code&gt;.&lt;br&gt;
Watch your AI's actions stream in real-time.&lt;/p&gt;

&lt;p&gt;This is the audit layer AI agents have been missing.&lt;/p&gt;




&lt;h3&gt;
  
  
  Security Score — how safe is your Claude Code environment?
&lt;/h3&gt;

&lt;p&gt;Scored out of 100. Checks 7 things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is &lt;code&gt;Bash(sudo *)&lt;/code&gt; in your allow list? (-20)&lt;/li&gt;
&lt;li&gt;Is &lt;code&gt;~/.ssh/**&lt;/code&gt; in your deny list? (-20)&lt;/li&gt;
&lt;li&gt;Is &lt;code&gt;Bash(curl *)&lt;/code&gt; unrestricted? (-15)&lt;/li&gt;
&lt;li&gt;Are &lt;code&gt;.env&lt;/code&gt; files protected? (-15)&lt;/li&gt;
&lt;li&gt;Is &lt;code&gt;strictMode&lt;/code&gt; enabled? (-10)&lt;/li&gt;
&lt;li&gt;Is &lt;code&gt;Bash(rm *)&lt;/code&gt; restricted? (-10)&lt;/li&gt;
&lt;li&gt;Are hooks configured? (-5)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I scored 90/100. What's yours?&lt;/p&gt;

&lt;p&gt;The point isn't to shame anyone.&lt;br&gt;
It's to make the invisible visible — &lt;br&gt;
so you can make informed decisions about what your AI is allowed to do.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9g3n5akt84i560ik7620.png" alt=" " width="799" height="434"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @notenkidev/claude-token-dashboard
claude-token-dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;code&gt;http://localhost:3000&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/notenkitoclient-cpu/claude-token-dashboard" rel="noopener noreferrer"&gt;https://github.com/notenkitoclient-cpu/claude-token-dashboard&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;This started as a simple token counter.&lt;br&gt;
It's becoming something bigger —&lt;br&gt;
an observability layer for AI agents.&lt;/p&gt;

&lt;p&gt;More coming.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I'm building the trust layer between humans and AI agents</title>
      <dc:creator>notenki</dc:creator>
      <pubDate>Thu, 04 Jun 2026 06:36:12 +0000</pubDate>
      <link>https://dev.to/notenkitoclientcpu/im-building-the-trust-layer-between-humans-and-ai-agents-4ho9</link>
      <guid>https://dev.to/notenkitoclientcpu/im-building-the-trust-layer-between-humans-and-ai-agents-4ho9</guid>
      <description>&lt;h2&gt;
  
  
  The moment I realized something was wrong
&lt;/h2&gt;

&lt;p&gt;I'd been using Claude Code every day for months.&lt;/p&gt;

&lt;p&gt;Then one day I asked myself a simple question:&lt;br&gt;
"How much have I actually spent?"&lt;/p&gt;

&lt;p&gt;I had no idea.&lt;/p&gt;

&lt;p&gt;Not approximately. Not roughly.&lt;br&gt;
Zero visibility into what was happening.&lt;/p&gt;

&lt;p&gt;That's when I understood the real problem.&lt;br&gt;
It's not about cost. It's about trust.&lt;/p&gt;


&lt;h2&gt;
  
  
  AI agents are moving fast. Trust infrastructure isn't.
&lt;/h2&gt;

&lt;p&gt;Claude Code can read files, write code, run commands, &lt;br&gt;
and make decisions on your behalf.&lt;/p&gt;

&lt;p&gt;But there's no dashboard. No audit trail. &lt;br&gt;
No way to know what happened, why, or what it cost.&lt;/p&gt;

&lt;p&gt;We're giving AI agents more and more autonomy&lt;br&gt;
while building less and less visibility into their actions.&lt;/p&gt;

&lt;p&gt;That's a problem that compounds.&lt;/p&gt;


&lt;h2&gt;
  
  
  What I'm building
&lt;/h2&gt;

&lt;p&gt;I started with the most obvious gap:&lt;br&gt;
token visibility for Claude Code users.&lt;/p&gt;

&lt;p&gt;The data was always there — sitting in &lt;br&gt;
~/.claude/projects/ as JSONL files.&lt;br&gt;
Nobody told you it existed.&lt;/p&gt;

&lt;p&gt;So I built a dashboard that reads it locally.&lt;br&gt;
Nothing leaves your machine.&lt;/p&gt;

&lt;p&gt;What I found in my own data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;$266 spent since March&lt;/li&gt;
&lt;li&gt;One project eating 35% of my budget&lt;/li&gt;
&lt;li&gt;95.9% cache read ratio — happening every turn, invisibly&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  But the dashboard is just the beginning
&lt;/h2&gt;

&lt;p&gt;The real goal is bigger.&lt;/p&gt;

&lt;p&gt;Think about how we built trust around cars:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;License (who's allowed to drive)&lt;/li&gt;
&lt;li&gt;Inspection (is it safe to operate)&lt;/li&gt;
&lt;li&gt;Insurance (who's responsible when something goes wrong)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI agents need the same stack.&lt;/p&gt;

&lt;p&gt;That's what I'm working toward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Identity&lt;/strong&gt; — which AI did what&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Permissions&lt;/strong&gt; — what it's allowed to do&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit trails&lt;/strong&gt; — what actually happened&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost accountability&lt;/strong&gt; — who pays for what&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The dashboard is the audit trail layer.&lt;br&gt;
AgentPass is the identity and permission layer.&lt;/p&gt;

&lt;p&gt;Together, they're the foundation of &lt;br&gt;
what I'm calling the AI trust infrastructure.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why this matters now
&lt;/h2&gt;

&lt;p&gt;We're at the moment right before the problem becomes obvious.&lt;/p&gt;

&lt;p&gt;Most companies still say "ChatGPT is convenient."&lt;br&gt;
But AI agents are already making decisions, &lt;br&gt;
sending emails, placing orders.&lt;/p&gt;

&lt;p&gt;The question isn't whether AI will act autonomously.&lt;br&gt;
It's whether humans will be able to understand, &lt;br&gt;
verify, and trust those actions.&lt;/p&gt;

&lt;p&gt;I'm building the infrastructure for that trust.&lt;/p&gt;


&lt;h2&gt;
  
  
  What's new in v6
&lt;/h2&gt;

&lt;p&gt;Since this article was published, the dashboard has grown significantly&lt;br&gt;
based on feedback from real Claude Code builders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it shows now:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Token usage by project&lt;/li&gt;
&lt;li&gt;Cost display adapted to your plan
(Pro/Max: token volume · API: dollar cost)&lt;/li&gt;
&lt;li&gt;CLAUDE.md file sizes — re-sent every turn, most people don't realize this&lt;/li&gt;
&lt;li&gt;Cost reduction insights — which projects to optimize first&lt;/li&gt;
&lt;li&gt;Per-session drill-down — click any project to see individual sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Still local. Still private. Still free.&lt;/p&gt;


&lt;h2&gt;
  
  
  Try the dashboard
&lt;/h2&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @notenkidev/claude-token-dashboard
claude-token-dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;GitHub: &lt;a href="https://github.com/notenkitoclient-cpu/claude-token-dashboard" rel="noopener noreferrer"&gt;https://github.com/notenkitoclient-cpu/claude-token-dashboard&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you're building in this space — &lt;br&gt;
identity, permissions, audit, cost accountability for AI agents —&lt;br&gt;
I'd love to connect.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjtvf53jpp30klhcefc1x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjtvf53jpp30klhcefc1x.png" alt=" " width="799" height="432"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfg6aflh8kkqyt91w073.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbfg6aflh8kkqyt91w073.png" alt=" " width="799" height="435"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0669fuhks0m4rlsaku8i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0669fuhks0m4rlsaku8i.png" alt=" " width="800" height="435"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwp89yypnxec6qkbzbfk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flwp89yypnxec6qkbzbfk.png" alt=" " width="799" height="434"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Update — v0.1.17: the audit layer is now real
&lt;/h2&gt;

&lt;p&gt;Since writing this, the vision has gotten more concrete.&lt;/p&gt;

&lt;p&gt;Two new features shipped:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Activity Log&lt;/strong&gt; — Claude Code's actions now stream into the dashboard &lt;br&gt;
in real-time. Every file read, every command executed, every API call. &lt;br&gt;
Risk-labeled. Timestamped. Live.&lt;/p&gt;

&lt;p&gt;This is the audit trail I was describing. It's working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Score&lt;/strong&gt; — your Claude Code environment scored out of 100. &lt;br&gt;
Permissions, denied paths, strictMode, hooks. &lt;br&gt;
See exactly where your exposure is.&lt;/p&gt;

&lt;p&gt;The trust layer isn't a concept anymore.&lt;br&gt;
It's running on your machine right now.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @notenkidev/claude-token-dashboard
claude-token-dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Launching on Product Hunt June 9th.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>claude</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I had no idea how many tokens I was burning in Claude Code — so I built a dashboard</title>
      <dc:creator>notenki</dc:creator>
      <pubDate>Tue, 02 Jun 2026 22:45:17 +0000</pubDate>
      <link>https://dev.to/notenkitoclientcpu/i-had-no-idea-how-many-tokens-i-was-burning-in-claude-code-so-i-built-a-dashboard-1hak</link>
      <guid>https://dev.to/notenkitoclientcpu/i-had-no-idea-how-many-tokens-i-was-burning-in-claude-code-so-i-built-a-dashboard-1hak</guid>
      <description>&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;I've been using Claude Code heavily for the past few months.&lt;br&gt;
But I had absolutely no idea how many tokens I was actually burning — or where.&lt;/p&gt;

&lt;p&gt;No visibility. No breakdown. Just vibes.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I found
&lt;/h2&gt;

&lt;p&gt;Turns out, all the data is sitting right there on your machine:&lt;/p&gt;

&lt;p&gt;~/.claude/projects/&lt;/p&gt;

&lt;p&gt;Every session is logged as a JSONL file with full token counts — &lt;br&gt;
input, output, cache reads, cache creation.&lt;/p&gt;

&lt;p&gt;Nobody told me this existed.&lt;/p&gt;
&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;A simple Next.js dashboard that reads those files locally and shows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Token usage per project&lt;/li&gt;
&lt;li&gt;Daily usage chart&lt;/li&gt;
&lt;li&gt;Cache read ratio&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I ran it on my own data, I discovered my cache read ratio was &lt;strong&gt;95.8%&lt;/strong&gt;.&lt;br&gt;
I had no idea that was happening on every single turn.&lt;/p&gt;

&lt;p&gt;My heaviest day: &lt;strong&gt;340,000 tokens in a single day&lt;/strong&gt; on one project.&lt;br&gt;
I had no memory of it being that intense.&lt;/p&gt;
&lt;h2&gt;
  
  
  The insight
&lt;/h2&gt;

&lt;p&gt;This isn't just about cost.&lt;/p&gt;

&lt;p&gt;It's about visibility.&lt;/p&gt;

&lt;p&gt;When you can't see what's happening, you can't improve it.&lt;br&gt;
The data was always there — I just couldn't see it.&lt;/p&gt;
&lt;h2&gt;
  
  
  Try it yourself
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Install and run:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @notenkidev/claude-token-dashboard
claude-token-dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt; — your Claude Code token data loads automatically.&lt;/p&gt;

&lt;p&gt;Or clone it: &lt;a href="https://github.com/notenkitoclient-cpu/claude-token-dashboard" rel="noopener noreferrer"&gt;https://github.com/notenkitoclient-cpu/claude-token-dashboard&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Updates
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;v2 — Cost in dollars&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Added estimated cost per project in USD (claude-sonnet-4-6 pricing).&lt;/p&gt;

&lt;p&gt;My own numbers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Total: $265 since March&lt;/li&gt;
&lt;li&gt;Top project: $92.63 (35% of all spend)&lt;/li&gt;
&lt;li&gt;Cache read ratio: 95.9%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A percentage is interesting. A dollar figure makes you act.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;v3 — CLAUDE.md size visibility&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Each CLAUDE.md is re-sent every turn. &lt;br&gt;
Added a column showing file size per project.&lt;br&gt;
Projects over 5KB get a warning.&lt;/p&gt;

&lt;p&gt;Now you can see exactly which configs are silently taxing every prompt.&lt;/p&gt;



&lt;p&gt;Install the latest version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @notenkidev/claude-token-dashboard
claude-token-dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9v9veysvpfs39fqobur.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy9v9veysvpfs39fqobur.png" alt=" " width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Updates — v0.1.16 / v0.1.17
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Activity Log&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Claude Code now streams every action into the dashboard in real-time.&lt;br&gt;
File reads, commands, API calls. Risk-labeled. Timestamped. Live.&lt;/p&gt;

&lt;p&gt;Set up via Claude Code hooks — one config change, then open&lt;br&gt;
&lt;code&gt;http://localhost:3000/activity&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnp119vr6c70ia7gkcufc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnp119vr6c70ia7gkcufc.png" alt=" " width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security Score&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scores your Claude Code environment out of 100.&lt;br&gt;
Checks permissions, denied paths, strictMode, hooks.&lt;/p&gt;

&lt;p&gt;Open &lt;code&gt;http://localhost:3000/security&lt;/code&gt; to see yours.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt62sg4fzhul34fz82az.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt62sg4fzhul34fz82az.png" alt=" " width="799" height="434"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Install the latest:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-g&lt;/span&gt; @notenkidev/claude-token-dashboard
claude-token-dashboard
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>claude</category>
      <category>ai</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
