soft-shell crabdifferent species of crab
5
9 Comments

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 lesson about designing for 100 users before having 10 really stood out to me. It’s very easy to keep adding advanced features because they make the roadmap look impressive, even when the basic workflow has not been validated yet.

    I’m currently building an early backtesting project, and this is a useful reminder to get a small number of people through the complete workflow before investing heavily in features such as multi-asset analysis or Monte Carlo simulations.

    The in-page bar is also a great example of users revealing the real product. The popup contained more information, but the lightweight element shown at exactly the right moment delivered more value.

    How did you collect feedback from the first users—direct conversations, Chrome Web Store reviews, or usage analytics?

  2. 1

    Clever solve for a genuinely annoying problem — losing context mid-debug is brutal.

    Since you're shipping a browser extension that touches multiple AI platforms, one thing worth keeping an eye on: manifest and content-script permissions can become security debt fast (especially MV3). If you ever want a second pair of eyes on the codebase — we built SecondRead specifically to audit AI-built projects for non-technical founders. Security holes, cost sinks, scaling bottlenecks. Happy to run a free beta audit on TokenPulse if useful — no strings attached.

  3. 1

    Love the idea, always feel stuck when it stops midway. Claude should simply allow the last prompt to finish instead of stopping midway like Codex.

  4. 1

    The ±8% line is the best part of this post, publishing the error band on an estimate instead of pretending it's exact. One suggestion: put that ±8% in the UI itself, not just the writeup. People trust a meter more when it admits its precision. 70 users in 4 weeks on zero budget is real traction.

  5. 1

    The zero-marketing-budget path you took is the interesting part here - 70 users in 4 weeks from just showing up in threads like this one is a real signal. One suggestion from watching hardware-adjacent communities: the people who hit rate limits mid-session are the loudest, but the bigger audience is people who don't know a limit is coming until their workflow dies. A landing section that shows the bar working in a GIF might convert that second group better than the story does. Congrats on shipping six weekends of work - MV3 alone deserves a medal.

  6. 1

    So I ran tokenpulse through a tool i built, the full read: https://kasspian.com/marketing/share/d4923610-707e-45fd-993b-e18ce80130a8

    The blunt bit is thatit led with; you have 70 real installs and zero of them CAN pay you, there's literally nothing to buy yet. the growth question and the monetization question are different problems and the second one is now the urgent one. it also mapped where your next users already complain about rate limits in public (r/ClaudeAI is louder than you'd think)

  7. 1

    Really smart approach with the in-page bar over popup. I had the same realization building my API platform — context-aware UX wins every time. The MV3 Service Worker lifecycle is brutal; we ended up using chrome.storage.local with a write-then-read pattern to avoid race conditions. 70 users in 4 weeks with zero marketing is solid validation that the problem is real.

  8. 1

    Chrome extension distribution is a different beast — no app store, no search traffic. 70 users in 4 weeks with zero marketing is the real signal. The install flow (manual ZIP, chrome://extensions) filters for high intent. That's the moat: users who jump through hoops actually use it.

  9. 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.