{"repo":"eksdeexD/ccstats","free":true,"listed":false,"github":"https://github.com/eksdeexD/ccstats","clone":"git clone https://github.com/eksdeexD/ccstats.git","description":"Self-hosted Claude Code usage stats for Badgeware Tufty 2350","language":"Python","stars":11,"topics":[],"license":"GPL-2.0","category":"self-hosted-apps","readme_excerpt":"ccstats Self-hosted Claude Code usage stats — a pipeline that turns a user's Claude Code sessions into pre-computed JSON feeds and firmware for a Badgeware Tufty 2350 badge that displays the stats on a 320×240 LCD. Also a multi-screen web dashboard, that can be used without the hardware device. The badge does no aggregation: the server computes everything and serves finished JSON over HTTPS; the badge (or the web dashboard) just draws it. The server half runs perfectly well on its own — if you only want the web dashboard, you don't need a badge. How it works A small badge sits on your desk and shows your Claude Code activity at a glance — a live avatar that reacts as you work (working / idle / waiting), your session and weekly usage limits with countdowns to the next reset, and a rack of stat screens you cycle through with the buttons. That working / idle / waiting state is read on the server a couple of times a second by watching each session's live network traffic to the Claude API together with its transcript — there's nothing to instrument in your editor. The badge does no number-crunching. Behind it, a Linux server runs the pipeline on systemd timers: it scrapes your Claude Code session transcripts, computes the stats, and banks them in a durable SQLite ledger — so your totals stay all-time even after Claude Code prunes old transcripts. The finished numbers are served as JSON over token-gated HTTPS, and the badge just draws them. It can also span multiple machines — say ","default_branch":null,"files":null,"tree":[],"storefront":"/r/eksdeexD","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/eksdeexD/ccstats/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}