Rabbit Hole

Inspiration

A lot of reading tools assume the problem is that people want things shorter.

I don’t think that’s true.

Usually the problem is that you hit one sentence that breaks your understanding, and after that you’re just dragging yourself through the rest of the page. Definitions don’t help much because they introduce more words you don’t know. Summaries skip over the exact thing you were stuck on.

I wanted something that slows you down in a better way.

Rabbit Hole started from a simple idea: what if an AI reading tool never explained anything directly, and only asked questions?

Basically, the Socratic method as an interface.

What it does

You paste in a dense text and highlight anything confusing - a phrase, a sentence, even a whole paragraph.

Instead of giving you an explanation, Rabbit Hole asks a question designed to push your understanding forward by one step.

You answer it, then it asks another from a different angle.

You can also click into concepts inside the response and keep descending further. Over time it builds a breadcrumb trail of your thinking path through the text.

The whole interaction is meant to feel less like “search” and more like getting mentally unstuck.

How I built it

The entire project is a single HTML file written in vanilla JavaScript.

No framework, no backend, no accounts.

We used the Claude API with a heavily constrained system prompt built around one rule:

never explain, only ask.

The prompting changes depending on what the user highlights. A single word gets a very narrow question. Larger passages shift toward reasoning about the central claim or assumption behind the text.

Challenges

The hardest part was text selection. Our first approach was to wrap words in clickable spans, but that broke native browser highlighting. We ended up keeping the reading text as plain text and using the browser selection API with a floating tooltip positioned from the mouse event.

The second challenge was keeping the AI genuinely Socratic. Claude naturally wants to be helpful by explaining, so the prompt had to be tightened several times. The final version uses repeated constraints, short output limits, and different rules for short phrases versus longer passages.

The third challenge was managing depth without making the interface confusing. Once users can click into concepts inside the AI response, it is easy to get lost. The breadcrumb trail became important because it gives the user a way to see the path of their own thinking and return to earlier points.

What we’re proud of

The interaction feels different from most AI reading tools.

Most tools push information at you. Rabbit Hole waits for curiosity.

You choose where to go deeper and how far.

It also stays lightweight. You can literally open it in a browser and start using it immediately.

What we learned

The interesting part was not the model.

It was the constraint.

Once the AI is forced to ask instead of explain, the interaction changes completely. Reading becomes more active. You start forming the ideas yourself instead of consuming generated answers.

That ended up mattering more than the model quality itself.

What’s next

  • Save reading paths across sessions
  • Build concept maps from repeated rabbit holes
  • Import directly from papers or URLs
  • Collaborative rabbit holes for study groups

Built With

Share this project:

Updates