2
1 Comment

Built a Chrome extension to stop getting cut off by Claude — 70 users in 4 weeks, zero marketing budget

The problem I was solving for myself

Eight weeks ago I was two hours deep into a debugging session with Claude when it just stopped. Rate limit hit. No warning. No countdown. Two hours of context gone and I had to start over.

I looked for a tool that would show me how close I was before it happened. I found nothing that worked across more than one AI platform without requiring an API key.

So I spent six weekends building one.

What I built

TokenPulse is a Chrome extension (MV3) that injects a live token bar above the input box on Claude, ChatGPT, Gemini, DeepSeek and Grok. It shows:

  • Context window percentage in real time
  • Claude's actual 5-hour and 7-day rate limit utilization (pulled directly from Claude's internal API — exact numbers, not estimates)
  • Reset countdowns to the minute
  • Estimated cost per conversation, per day, per week
  • Daily usage history

No API key. No account. No data leaves your device. Install and open Claude — it just works.

The technical architecture

The extension runs a content script on each supported domain. Claude is the only platform that exposes real rate limit data through an internal API endpoint — the others use client-side token estimation (~4 chars per token, ±8% accuracy).

The biggest technical challenge was Chrome's Manifest V3 requirements. No inline scripts, no eval, service workers instead of persistent background pages. The service worker can be killed by Chrome at any time, which means everything goes through chrome.storage.local — no in-memory state between messages.

The in-page bar injection uses a MutationObserver to detect when the input box appears in the DOM, then inserts a container immediately above it. Platform DOM structures change without notice so every selector has multiple fallbacks.

Open source: github.com/anu-ship-it/TokenPulse

The numbers after 4 weeks

  • 70 active users (Chrome Web Store weekly active)
  • Zero marketing budget
  • Zero paid installs
  • 128 Google Search Console impressions in 10 days of indexing
  • Average position 16.6 — page 2, working on it

Traffic sources so far: mostly direct Chrome Web Store search and a few Reddit comments where I answered genuine questions about Claude rate limits.

What worked

Building for a real pain I had.** I use Claude heavily for development work. Every decision about what to show in the popup came from "what would I want to see right now?" That constraint produced better UX decisions than any user research I could have done upfront.

Shipping before it was polished. The first version had a broken notification system and no cost tracking. I published anyway. The feedback from early users told me exactly what to build next — cost tracking and weekly summaries were the top two requests.

The in-page bar over the popup. My initial instinct was to make the popup the primary interface. Users taught me the bar is what they actually use — the popup is for depth when they want it. If I had designed popup-first I would have built the wrong thing.

What did not work

Posting on company social accounts with no followers.** I posted on the TokenPulse Twitter and LinkedIn company page for weeks. Near-zero reach. The right channel was my personal LinkedIn (7.2k followers) — the first post there drove more installs in one day than a month of company posts.

Building the tips panel. I spent two days building a collapsible panel with token optimization advice. Nobody uses it. It adds code complexity and visual weight for zero user value. I should have shipped that time as more platform support.

Designing for 100 users before having 10. I spent too long on the architecture for Pro features (cross-device sync, 90-day history) before I had validated that people wanted the free version. The right order is: prove the core value, then build the infrastructure to scale it.

What's next

Pro tier** — 90-day history with graphs, rate limit predictions ("~45 min left at this pace"), cross-device sync across Chrome, Edge, Brave, Arc and VSCode, unlimited platforms, weekly email reports. Waitlist open at token-pulse.in.

VSCode extension — so the tracking follows you from the browser to the editor.

AI usage timeline — a single chronological view of every AI interaction across all tools. Nobody has built this yet. It's the feature that turns TokenPulse from a rate limit tracker into something that helps you understand your entire AI workflow.

The one thing I would do differently

Build the content script test harness first. Testing content scripts requires opening Chrome, loading the extension, navigating to the target platform, and observing behavior — a 3-minute loop per test. A mock DOM environment for unit testing would have paid back the setup time within the first week.


Happy to answer questions about the Chrome extension architecture, the MV3 constraints, or how to read Claude's internal usage API. This community has helped me think through a lot of product decisions — returning the favor.

Install TokenPulse free — works on Claude, ChatGPT, Gemini, DeepSeek and Grok.

on August 25, 2026
  1. 1

    The strongest part is that the product came directly from a recurring workflow failure you experienced yourself. The in-page token bar also seems like a strong UX decision—showing the information where the work is happening rather than hiding it behind another popup.