Show HN: ChatGPT UI for rabbit holes (delve.a9.io)

766 points by maxkrieger ↗ HN
I was inspired by the way ChatGPT writes bullet lists, then invites you to "delve" deeper.

This is an interface that reifies that rabbit-holing process into a tiling layout. The model is instructed to output hyperlink-prompts when it mentions something you might want to delve into.

Lots of features to add (sessions, sharing, navigation, highlight-to-delve, images, ...). Would love to hear other usecases and ideas!

170 comments

[ 3.3 ms ] story [ 258 ms ] thread
some feedback:

* can you make it so we can share links of sessions?

* can you describe on the homepage or in a link from the homepage what it does.

Yes, +1 to sharing links! I'll also add:

* Enable the use of personal OpenAI API keys.

* Include system prompts, such as "If the topic is about X, highlight new topics by Y" and "Reply to all as if explaining the topic to a 6-year-old."

* Backlink to the original thread when the same topics are found.

* It would be great if this could be a desktop app with all answers saved locally, creating "my own personal" infinite wiki.

If "delve" was meant to be an in-joke, I just wanted you to know: I got it.

I also have a Custom GPT "AutoExpert (Chat)" [0] that several reviewers have called "the perfect Rabbit Hole GPT" due to the way it leads users through learning a topic. You might dig it, especially since free tier users have access to these now.

[0]: https://chatgpt.com/g/g-LQHhJCXhW-autoexpert-chat

Oh I like this! Love how easy it is to dig deeper. Worth noting that free users are rather restricted in their uses of custom GPTs so probably won’t be able to dig as deeply as they’d like.

EDIT: I’ve now quizzed it about string theory, quantum mechanics, classic Roman pasta dishes, Italian wines, and sent it a picture of some poison hemlock and I think I’ve found my new favourite GPT. Great work!

EDIT 2: asked it to critique a photo I took recently and that was great too, really impressed with this.

Thanks, I appreciate that! Rating it would be appreciated, also. :)
what's the joke?
ChatGPT overuses the word "delve" in its writing. Search your email for "delve," and look at how common it starts becoming (esp. in marketing emails) around the time ChatGPT takes off.
That's because chatGPT talks to hundreds of millions of people and puts a trillion tokens in their heads per month. And out of every 1000 tokens, a "delve" creeps up.
Truly the work of delve elopers.

(I applogize for delving into what one might consider the realm of superficial comments)

This comment stands as a testament to the tapestry of language.
Wow, I find this very useful. The eliciting an expert, alternative experts, oppositional viewpoints... fascinating.

We're just getting started on what we can do with LLMs!

Thanks for that! Throw a rating on there, if you don't mind :)
I like the whole approach this takes, but man I really do wonder about "learning" through something that is so eager to hallucinate. The vast majority is correct, but I know with my luck I'd unknowingly remember something that was hallucinated and some real expert would look at me funny if I mentioned it.
You may find interesting to look at Google's AI Kitchen and the early versions of Bard (the LaMDA version) because they were specifically optimizing user scenarios where the user wants bullet points (though intuitively, your tool seems already much better than what Google did).
Perhaps have it not scroll down as it generates the text? Invariably I have to scroll back to the top to start reading. You could have a mini-hud (growing line, with a small rectangle at the top showing the first page of text) which would let you see at a glance how much text is being generated, without interrupting reading. Or not; ChatGPT just keeps on vibrating the phone (iOS app) during text gen, with hovering arrow in the middle-bottom as a shortcut to jump to the end.
> ChatGPT just keeps on vibrating the phone (iOS app)

I'd hate that. YouTube turned on vibration (a subtle tap) for videos whenever it reached automatically generated "key concepts" in (some) videos, with no option to disable it[1] so I had to finally disable all vibration on the phone:

Settings -> Accessibility -> Touch -> Vibration (off)

[1] https://old.reddit.com/r/youtube/comments/1bro66c/videos_vib...

You can turn the haptic feedback off in the app, which is what I did. It doesn’t convey useful feedback, just lain annoying.
Love it! I like that the site is straight to action, but I think it could really benefit from a walkthrough. Here’s an idea!

It would be great if we had an introduction to the site right in the prompt! to help understand its main purpose right from the start.

It'll be great if the first thing you see is [Explain what "delve into" is] as a prompt suggestion. Next, it will reply with, "It’s for exploring topics deeply, similar to going down "rabbit holes" where one interesting thing leads to another. Here are some examples ..."

Then, you guide the user through the functions step-by-step. Something like, "Click on option X to start a new thread, then choose from the suggested prompts or create your own. Follow the flow to see related threads and dive even deeper."

My 2 cents here is that it’s less obvious that this would be a net positive, people fall into two camps on these type of getting started suggestions. Many will say this very guided walk through is an obvious useful feature, and many will say that it annoys them.

I’ve gathered a lot of feedback on things like this for a few different sites and apps from senior UX designers and PMs who contradict eachother on improvements and best practices all the time and from users. You’ll of course only hear from the people who want it rather then the ones who would be annoyed by it :)

Great project that seemed very easy to understand and straight forward to me, no further walk throughs needed ;)

perhaps consider a tutorial you can close with just one click? those always seem a good compromise
compromise, the father of all mediocre designs
This is great and something that I've wished existed. Thanks for making it! Right now, the tiles are linear. E.g. if tile A links to tiles B and C, clicking either B or C will open a new tile directly next to A (and only one of B or C is visible at a time). What do you think about making more of a tree layout where B and C both branch from A and can be viewed simultaneously?
I agree with this. The UI is already great, but a tree-like structure would be awesome.
I think this is a point where it’s helpful to take a step back in scope — instead of looking for LLM tree UI implementations, we should consider the mature field of general text hierarchies. I’m lazy, but I posit there are many, many UIs for visualizing wikilink-esque document repositories, such as obsidian plugins (?), browser extensions, vim/emacs/other plugins, etc.

Personally, I’m a huge fan of a few principles that I hope to impose on the world via book, eventually:

1. Indices over keys.

2. No single set should have more than N elements, where N is usually 10 but could be 2/3/4 if you’re doing decision trees, and could be 16 if you’re insane and want to use hex indices.

3. Each element can be referenced locally with a simple index (`3`), or a full path made by concatenating the indices of its ancestors from the root (`053`).

This would be an example of an “analytic” approach, as opposed to the ad-hoc “synthetic” approach of just visualizing whatever wikilink structure there happens to be. There’s a huge space of solutions “between” these two - such as constraining the ad-hoc visualization to meta-tagged wikilink relations — but I think the dichotomy is useful.

Personally, I prefer to use predesigned structures wherever possible for exactly these reasons. It makes automated visualization possible, in many cases… An example would be reusing the same 3/4 12-element directory template for every SWE project. I hope it’s clear how the same idea could be directly applied to a research project performed with lots of automated LLM queries.

Great idea. I also see inspiration from Andy Matuschak's notes [0], of which I'm a bit fan

[0] https://notes.andymatuschak.org/zB74H9CuWrosEuqve7jZyCo?stac...

This is very good. I can't put my finger on it, but it seems more important than a mere "gimmick." I noticed that if you click on a topic already explored, it won't open again. That's cool, I'd make it snap back to the pane where it's open.

Kudos! This is an interesting perspective on how we really need to put a little more effort into the UX of LLMs.

i honestly don't get it. what's even different about it than chatGPT?
Click the links.
oh -- it wasn't really obvious they were links. i think i assumed that because i'm used to the chatGPT ui.
They have the underline usually associated with hotlinks
It's a light grey dotted line under a black bold text, it's not impossible to miss.
Funny, I was just thinking yesterday about how back in '90s, ALL links were blue with an underline (or purple if you've visited it).
Not all, but the vast majority yes, because nobody bothered styling links with CSS.
From Tim Berners-Lee webpage:

Rendition of links

Q: I'm a student of visual communications and asked myself why links are blue. I found some answers that might be, for example blue is a color of learning, but I'm not sure what is right. Is there any reason, why links are colored blue ?

A: There is no reason why one should use color, or blue, to signify links: it is just a default. I think the first WWW client (WorldWideWeb I wrote for the NeXT) used just underline to represent link, as it was a spare emphasis form which isn't used much in real documents. Blue came in as browsers went color - I don't remember which was the first to use blue. You can change the defaults in most browsers, and certainly in HTML documents, and of course with CSS style sheets. There are many examples of style sheets which use different colors.

My guess is that blue is the darkest color and so threatens the legibility least. I used green whenever I could in the early WWW design, for nature and because it is supposed to be relaxing. Robert Cailliau made the WWW icon in many colors but chose green as he had always seen W in his head as green.

One of the nicest link renditions was Dave Raggett's "Arena" browser which had a textured parchment background and embossed out the words of the link with a square apparently raised area."

https://www.w3.org/People/Berners-Lee/FAQ.html#your

The dotted underline is usually reserved for indicating alt text or hover content, actually. In this case, I think it's fine to be dotted, since it's not a true hyperlink, but combining that with it being the same text color is just bad from a semantic POV. It's made worse by the fact that the author apparently decided to make visited links blue. (Edit: apparently it's "active" panes, not visited, but semantically similar)

@maxkrieger if you're reading this, please consider making unvisited links blue, to conform to the universal semantics everywhere else on the web, and make visited links either purple, or black if you really want. (edit: or some different color for active panes. Green?)

agreed..although, that's a more appropriate thing to critique to developing a production-ready product than a demo like this.
It's like following the links in wikipedia, but each link is a new chatgpt window to interact with.
> I can't put my finger on it, but it seems more important than a mere "gimmick."

Let me see if I can articulate it.

You know how a human conversation can have multiple threads? And ten minutes in, you find the topic has totally changed and you're trying to figure out the original topic? Sometimes you can get back to it, sometimes you can't, right?

Obviously it's not quite the same when you can see prompt history, but the conversation is still pretty linear. This pre-empts that problem by letting you fork thoughts.

also beautiful feature of nested comment threads, like this very orange site :)
What I really need for ChatGPT is to ask questions on a side panel and not push out the message exchange.
counterpoint: the forks dont retain any of the context that led you to them, nor does returning to an earlier branching point retain the discussion that occurred down a separate "rabbit hole". therefore it is in some ways decidedly less human that the linear approach in use
They do? When going into “weight” coming from “aerodynamics -> flight” it only talks about weight in the context of flight and plane design. I would actually like an option to “snap out” of the current topic.
So perhaps an even better interface would be a dynamically generated spider diagram?
It is a nice UI and invites you to investigate more...

But the problem, as far as I can tell, is that it's inviting someone to explore what's bad about LLMs (or what LLMs are bad at).

IE, LLMs are useful for doing things an individual could do but doesn't really want to. I have one friend who uses ChatGPT for boiler plate nondiscrimination policies and another who uses it for random villain descriptions and it's famous for boiler plate code.

But using LLMs for discovering new specific things (this app's seeming purpose) seems like a recipe for disaster. For example, I started looking at counterfeit bolts and ended up with the thing hallucinating an instance of "sword net" (real) that in 2018 targeted counterfeit fasteners (no refs on Google, Brave or DuckDuckBing) with the slogan "Secure the Foundation, Eliminate the Fake" (no refs similarly).

Edit: obviously, the system is confusing counterfeits generally with counterfeit fasterners (a more specialized issue, having less to do with intellectual property as such). But if drill distinctions like this are inevitable and this is what makes LLMs actually not useful for this sort of exploration.

The way I think about it is LLMs are good at DOING for you, and poor at THINKING for you.
This is fun! It feels like infinite hyperlinks. It's the kind of wonder I had in exploring Wikipedia for the first time.
Warning: if you plug this into tvtropes then global productivity will drop sharply.
?
It's a meme, because tvtropes is insanely addictive to dive deeper into the various rabbit holes it has.

If you enable this kind of rabbitholing it'll be even more insanely addictive because of how awesome it feels to explore rabbit holes.

I love how it feels like obsidian
I really love this. A book was recommended to me that I'm not going to have time to read, but this UI is an amazing way to figure out the main ideas and dive deeper into the interesting ones.

No idea if the things it's telling me are true or not, but that doesn't matter quite as much in this case.

Really fun! I realized each delve carries the context of the previous ones. So I got to StarCraft II from the initial example of "Faster language models", but it mostly talked about how SC2 can be used for reinforcement learning. It'd be nice to have a key I can hold down to start a new delve on the topic (bonus points if you can stack multiple delves so you can keep going deeper on the old track as well!)

Another thing that would be interesting is if there was minimal markup for the LLM to indicate "here should be an image of [search term]" or maybe even interactive code blocks etc. But obviously this is scope creep deluxe.

Are you paying for the API calls yourself here?
It seems like they're caching information/replies on key words which is a good optimization.
I assumed it was coming straight from the API because of the token-by-token generation effect but maybe you're right.
The token-by-token responses are probably API, while the "instant" loads seem to be cached.

Probably using groq based on speed of response

I have a lot of OpenAI API credits to use by end of the month, so I’m using 4o. I’ll probably switch to a more sustainable model afterwards, consider this a request for API credits, all! Email’s on website :)
I REALLY like how snappy it is. I've always been impressed with how fast Wikipedia managed to stay over the years, but this is even better. Really nice work.
Nice work, this is really solid!

I've had something like this on my mind for a while. I really think there are some great use cases for AI around supporting/enhancing human cognition rather than trying to outsource our thinking. In this case of this, being able to rapidly "expand" your working memory with whatever is present in these cards is promising.

I look forward to seeing what you do with this.

How does it work?

Are hyperlinks generated as part of original prompt or you do post processing on a response with another LLM?

This is really cool! I love the rabbit hole stuff you can do when you give GPT more capabilities. I was playing around with this stuff and found I was most often wanting to use it when wanting to learn about something so made Instaclass: https://myinstaclass.com/. It finds videos, images, makes quizzes and gets more relevant web links for you to keep exploring, and structures it like a class (basically a list of bullet points like you mentioned). Try it out and lmk what you think!
UI is very clean. Left right scroll is awkward without a trackpad, however
I'd love it if it had a "zoomed out" tree-like view that makes all the different paths of conversation viewable at once
Love this. It would really benefit from a back/forward button though!
crrriispy ui dude. This is like that custom prompt people were sharing for gpt where it would preempt three relevant follow up questions.

what heuristic are you using for making words clickable?

i recommend making the links just hardcode old-school blue and purple. make it obvious you can click these things. "dive on in" https://www.youtube.com/watch?v=DElxVXS7PD0

For coding it would be nice to add task to links. So when a link is clicked you could simply choose to follow it or create a new agent with the link. Each agent will tune the output as one goes down the rabbit hole.