Built a Chrome extension to stop getting cut off by Claude
Article URL: https://www.indiehackers.com/post/built-a-chrome-extension-to-stop-getting-cut-off-by-claude-70-users-in-4-weeks-zero-marketing-budget-3b49b2ad35.
By Dillip Chowdary • Aug 25, 2026 • Source: HN Claude/Codex/Fable
What happened
A developer named Anoop Kumar built a Chrome extension called TokenPulse to solve a personal pain point and posted his build story on Indie Hackers. I now have all the concrete facts. Here is the article:
Anoop Kumar was two hours into a debugging session with Claude when the rate limit hit without warning, wiping the entire context and forcing him to start over. He searched for an existing tool that would show how close he was to the limit across multiple AI platforms without requiring an API key, found nothing, and spent six weekends building one himself.
This article covers TokenPulse, a Manifest V3 Chrome extension that injects a live usage bar directly into Claude, ChatGPT, Gemini, DeepSeek, and Grok. It is written for developers and builders who use AI assistants heavily enough to hit rate limits mid-session and want to understand both the tool itself and the lessons Kumar documented after four weeks of real-world use.
How it works
Kumar published a detailed build retrospective on Indie Hackers on August 25, 2026, describing how he built TokenPulse over six weekends and reached 70 weekly active users in four weeks with zero marketing budget and zero paid installs. The extension is available on the Chrome Web Store and the source code is published at github.com/anu-ship-it/TokenPulse. Kumar also opened a waitlist for a Pro tier at token-pulse.in.
The post generated six comments and 4 upvotes on Indie Hackers, with readers noting that 70 Chrome Web Store installs from organic discovery alone signals real demand. One commenter pointed out that the Google Search Console had recorded 128 impressions in the first 10 days of indexing, with an average search position of 16.6, putting the extension on page 2 of results. Traffic so far has come mostly from direct Chrome Web Store search and a handful of Reddit threads where Kumar answered questions about Claude rate limits.

TokenPulse runs a content script on each supported domain and injects a persistent bar directly above the chat input box. For Claude specifically, the extension reads actual 5-hour and 7-day rate limit utilization from Claude's internal API endpoint, giving exact numbers rather than estimates. For ChatGPT, Gemini, DeepSeek, and Grok, the extension falls back to client-side token counting using approximately 4 characters per token, with an acknowledged accuracy margin of plus or minus 8 percent. The bar also shows context window percentage in real time, reset countdowns to the minute, estimated cost per conversation, per day and per week, and daily usage history.
Advertisement
Tech Pulse Daily
Get tomorrow's pulse first
Join engineers who read Tech Pulse before stand-up. Free, weekday mornings.
Why it matters
The implementation required working inside Chrome's Manifest V3 constraints, which forbid inline scripts and replace persistent background pages with service workers that Chrome can terminate at any time. To handle that, all state is written to chrome.storage.local rather than kept in memory. Bar injection uses a MutationObserver to detect when the input box appears in the DOM and inserts a container immediately above it. Because platform DOM structures change without notice, every selector ships with multiple fallbacks. No API key is required, no account is needed, and no data leaves the device.
Claude's rate limits operate on two separate windows, a 5-hour rolling window and a 7-day rolling window, and nothing in the Claude web interface surfaces either of them before they cut a session off. Kumar's post is one of the first public accounts of someone reading those limits directly from Claude's internal API endpoint rather than estimating from token counts. That approach produces exact numbers for Claude while the 4-chars-per-token heuristic used on other platforms carries a stated error range, a distinction the builder documented clearly in the source write-up.
Who is affected
The broader question the extension raises is why none of the major AI platforms surface rate limit proximity natively. Any developer spending hours in a single debugging session is implicitly managing a budget they cannot see. The post also illustrates that MV3's service worker lifecycle is a real constraint for extension developers, not a theoretical concern — the write-then-read pattern through chrome.storage.local that Kumar describes is a workaround others building persistent-state extensions will need to replicate.
The primary users are developers and heavy AI power users who run long, context-heavy sessions with Claude, ChatGPT, Gemini, DeepSeek, or Grok. Kumar's own trigger was a two-hour debugging session lost to a silent rate limit cut. The extension's current 70 weekly active users arrived through organic Chrome Web Store search and Reddit threads about Claude rate limits, which suggests the audience is self-selecting from people already frustrated enough to go looking for a solution.
A secondary audience is builders working on Chrome extensions under MV3, since Kumar's post documents specific architecture decisions around service worker state persistence and DOM injection fallbacks that are directly reusable. The comment thread on Indie Hackers included at least one other developer who confirmed hitting the same chrome.storage.local race condition described in the post and arriving at the same write-then-read solution independently.
What to watch next
Kumar's stated next step is a Pro tier that adds 90-day usage history with graphs, rate limit predictions described as approximately how many minutes remain at the current pace, cross-device sync across Chrome, Edge, Brave, Arc, and VSCode, unlimited platforms, and weekly email reports. A waitlist is open at token-pulse.in. He also described plans for a VSCode extension so the tracking carries over from browser to editor, and a unified AI usage timeline that shows every interaction across all tools in a single chronological view.
The open technical question for builders is how stable Claude's internal API endpoint is. The extension currently pulls exact rate limit numbers from it, but that endpoint is undocumented and could change without notice, which would silently degrade Claude tracking to the same client-side estimate the other platforms use. Anyone integrating or forking the extension should verify that the endpoint response format matches what the current extension expects before depending on the exact-number claim in production use.
Developer Action Items
- ☐ Diff the official changelog for Claude / ChatGPT / Gemini 16.6 before you bump — APIs, defaults, and removed flags only.
- ☐ Install through the vendor's documented channel in staging; keep a one-command rollback and time-box the canary.
- ☐ Grep your repo for old flag names, lockfile pins, and plugin versions that the notes mark as breaking.
- ☐ Prefer the first patch cut over the day-zero tag unless you have a reason to be on the leading edge.
- ☐ If HN Claude/Codex/Fable did not name a region, plan, or SKU, screenshot the official availability line before you promise it to users.
Advertisement
🔎 More interesting news
- Apple launches next-gen Apple Silicon chips: M6 and M5 Ultra
- Alice Raises $140M to Expand AI Model Defenses and Enterprise Guardrails
- ClaudeGate – Use OpenRouter Models (0x Alpha, DeepSeek) in Claude Code CLI
- Apple releases new Magic Keyboards with one notable change
- Today's full Tech Pulse briefing →