AI Usage Tracker
    
Premium countdown timer + notification surface for Claude (claude.ai) and OpenAI Codex (chatgpt.com) usage limits. Always-visible glass widget on your chat tab, toolbar popup dashboard, and OS notifications when renewals or thresholds approach. Ships as a Chrome extension, Firefox extension, and Tampermonkey userscript from the same source.
Why
Both Claude and Codex throttle you with daily and weekly quotas. The reset countdowns live on settings pages you have to navigate to. Run out unexpectedly, or waste fresh quota by not knowing it just renewed? This tells you, ambiently, all day, in your browser.
Features
- Always-visible widget — drag-positionable glass card with radial-ring countdowns (HH:MM:SS center, green→amber→red ramp). Minimizes to a 32 px square corner badge.
- Toolbar popup dashboard — both providers side-by-side with recent-usage sparklines.
- OS notifications — five trigger types, each toggleable:
- R1 Renewal-imminent — fires 60 min / 15 min / at-reset.
- R2 Renewal-arrived — "Fresh quota — go!" the moment a bucket resets.
- U1 Usage-threshold — 75% / 90% / 95% used.
- U2 Burn-rate forecast — "At this pace you'll hit weekly Tuesday — 18 hrs early."
- D1 Daily briefing — one calm summary at 08:00.
- Per-row visibility toggles — by default shows headline buckets only; turn on per-model rows (GPT-5.3-Codex-Spark, Sonnet only, Claude Design, etc.) in Settings.
- 30-day rolling history with sparklines, persists across browser restart.
- Dark by default — Catppuccin Mocha + glassmorphism. No pill backdrops.
Install
Chrome / Edge / Brave / any Chromium 109+
- Download
AI-Usage-Tracker-chrome-v0.1.1.zipfrom the Releases page. - Unzip it anywhere.
- Open
chrome://extensions. - Toggle Developer mode on (top-right).
- Click Load unpacked, pick the unzipped folder.
- Visit claude.ai or chatgpt.com — widget appears bottom-right.
Why not just drag-drop the
.crx? Chromium 75+ rejects drag-installed self-signed CRX files (CRX_REQUIRED_PROOF_MISSING) regardless of developer mode. The ZIP / Load unpacked path is the supported install for self-hosted Chromium extensions.
Firefox Developer Edition / Nightly
- Download
ai-usage-tracker-firefox-v0.1.1.xpifrom the Releases page. - Open
about:config→ setxpinstall.signatures.requiredtofalse(DevEd/Nightly only). - Open
about:addons→ gear icon → Install Add-on From File → pick the.xpi.
Release Firefox does not allow unsigned extensions; a signed AMO submission is planned for v0.2.0.
Tampermonkey / Violentmonkey userscript
- Install Tampermonkey or Violentmonkey in your browser.
- Open
ai-usage-tracker.user.jsfrom the Releases page — the userscript manager will prompt to install. - Visit claude.ai or chatgpt.com.
Userscript caveats vs. extension:
- No silent background refresh — data only updates while you have a Claude or ChatGPT tab open.
- No toolbar popup dashboard (open the in-page settings modal via the widget gear icon).
- OS notifications use the web
NotificationAPI (requires page open in a tab). - History persists across restart via
GM.setValue.
Build from source
cd ~/repos/AI-Usage_Tracker
node build/build-all.mjs
# → dist/chrome/, dist/firefox/, dist/userscript/
No package manager / no dependencies — pure Node 20 + a one-file esbuild shim for the userscript bundle.
Privacy
- Nothing leaves your browser. No analytics, no telemetry, no remote servers.
- All scraping is against your own logged-in session on
claude.aiandchatgpt.com. - History stored locally in
chrome.storage.local(extension) orGM.setValue(userscript). - Source is auditable — open the built files and read them; they are not minified.
License
MIT — see LICENSE.