DEV Community

J Now
J Now

Posted on

Inline context without losing the paragraph you were reading

Reading a long-form piece about monetary policy, hit the phrase "Triffin dilemma," and knew I had two options: open a new tab and lose the thread I was building, or skim past it and let the rest of the article sit on a shaky foundation. Neither is good.

So I built rabbitholes — a Chrome extension that renders an explanation next to your cursor when you highlight text, using a shadow DOM tooltip that doesn't touch the host page's layout or styles. The explanation comes back from Claude Haiku 4.5 in a few seconds.

The part I actually use most: every word in the response is clickable. If the explanation of "Triffin dilemma" mentions "Bretton Woods" and you don't have that locked in either, you drag across it and go a level deeper. The extension tracks hop depth — there's a counter — so you can see how far you've wandered from the original article. When you close the tooltip, you're back exactly where you left.

Two suggested rabbit-hole topics appear at the bottom of every answer: the threads the model judged most worth pulling on from that specific context. One click continues the chain. There's also a globe icon that re-answers the query with live Brave Search results injected, with source chips if you want to verify.

No intermediary server. Requests go directly from your browser to api.anthropic.com. Zero telemetry, Manifest V3, your Anthropic key stored in chrome.storage.sync.

// Shadow DOM attachment — host page styles never bleed in
const shadow = container.attachShadow({ mode: 'closed' });
Enter fullscreen mode Exit fullscreen mode

The closed shadow root is the detail that matters: the tooltip inherits nothing from the page and pollutes nothing back into it.

github.com/robertnowell/rabbitholes

Top comments (0)