Self-hosted AI token telemetry

tokemetry

Track Claude Code usage across every machine, monitor subscription limits, and predict burn-rate before you hit the wall.

Claude Code subscription window18m to reset
68%5-hour block used
42%weekly cap used
1.7xcurrent burn-rate
workstation-01
laptop-travel

Built for Claude Code power users.

tokemetry treats AI coding usage as operational telemetry, not a generic analytics dashboard.

Local history is fragile

Claude Code usage evidence is machine-local and can disappear before it becomes useful history.

Multiple machines hide totals

A desktop, laptop, and remote box can each look fine while the subscription window is burning fast.

Costs are not the only signal

Subscription users need limit-centric telemetry: caps, windows, resets, and pacing.

Collectors normalize usage. Your server owns the history.

Collectors parse local usage metadata, queue offline-safe events, and upload normalized counters to a private server behind HTTPS or WireGuard.

Claude Code metadataJSONL history, stats cache, and local limit signals.
Collector daemonNormalizes counters and queues events offline in SQLite.
Private serverDeduplicates, prices, rolls up, and predicts burn-rate.
Dashboard and APILimit gauges, history, alerts, REST, and WebSocket feeds.

Signals developers actually need.

Short cards, durable data, and provider boundaries that leave room for the product to grow.

Multi-machine aggregation

One private server receives normalized usage from every development machine.

Limit-window visibility

Track 5-hour blocks, weekly caps, reset countdowns, and exhaustion risk.

Burn-rate prediction

Turn raw counters into practical pacing signals before a cap surprise.

Provenance-tagged numbers

Every stored number can identify whether it came from logs, cache, OAuth, or pricing tables.

Privacy-first collection

Conversation content stays local; tokemetry moves usage metadata and counters.

API-first architecture

The dashboard uses the same REST and WebSocket surfaces available to integrations.

Multi-provider design

Claude Code first, with provider abstractions ready for future adapters.

Self-hosted alerts

Route limit and burn-rate notifications through ntfy, Telegram, SMTP, or your own tooling.

Conversation content never leaves the machine.

The collector is designed to upload usage metadata and counters, not prompts, responses, or source code.

  • OAuth tokens remain on the collector machine.
  • The server is intended to run privately, commonly behind WireGuard.
  • API tokens are bearer-token authenticated and stored hashed.
  • Stored telemetry keeps provenance attached to the number.

Infrastructure, not a toy script.

Python 3.12, FastAPI, Postgres, provider adapters, strict quality gates, and a dashboard designed for repeated operational use.

Core + ingest
Collector
Analytics API
Dashboard
Alerting
Deployment packaging

Follow the project while the first self-hosted release takes shape.