[HN Gopher] Show HN: I built a non-linear UI for ChatGPT
       ___________________________________________________________________
        
       Show HN: I built a non-linear UI for ChatGPT
        
       Hi HN,  I built this out of frustration of the evergrowing list of
       AI models and features to try and to fit my workflow.  The visual
       approach clicks for me so i went with it, it provides more freedom
       and control of the outcome, because predictable results and
       increased productivity is what I'm after when using conversational
       AI.  The app is packed with features, my most used are prompt
       library, voice input and text search, narration is useful too.  The
       app is local-first and works right in the browser, no sign up
       needed and it's absolutely free to try.  BYOAK - bring your own API
       Keys.  Let me know what you think, any feedback is appreciated!
        
       Author : setnone
       Score  : 226 points
       Date   : 2024-05-08 16:41 UTC (6 hours ago)
        
 (HTM) web link (www.grafychat.com)
 (TXT) w3m dump (www.grafychat.com)
        
       | ntonozzi wrote:
       | This is wild! What have you found it most useful for?
       | 
       | Have you tried a more straightforward approach that follows the
       | ChatGPT model of being able to fork a chat thread? I could use
       | something like this where I can fork a chat thread and see my old
       | thread(s) as a tree, but continue participating in a new thread.
       | Your model seems more powerful, but also more complex.
        
         | setnone wrote:
         | This is my daily GPT driver, so for almost anything from
         | research to keeping my snippets tidy and well organized. I use
         | voice input a lot to take my time and form my thoughts and
         | requests, text-to-speech to listen for answers too.
        
       | Zambyte wrote:
       | Looks cool! How can I host it?
        
         | setnone wrote:
         | Thanks! Self-host package comes with Extended license
        
       | iknownthing wrote:
       | Curious why you settled on the BYOAK approach rather than a
       | subscription approach
        
         | setnone wrote:
         | Subscription fatigue is real :)
        
           | iknownthing wrote:
           | I was thinking it was because it would be easier than keeping
           | track of usage which I assume you would need to do with a
           | subscription based model i.e. all users using your key.
        
           | tomfreemax wrote:
           | I have to say, I didn't realize it was no subscription before
           | I saw this comment. Makes it much more interesting from the
           | start.
           | 
           | Yes, I hate subscriptions. Love your approach.
           | 
           | I also love that you focus on your strength which is the
           | intuitive and flexible interface, rather than LLM or prompts
           | or whatever. Like this its also very extensible, as every
           | good tool should be.
        
       | rajarsheem wrote:
       | The demo you shared shows you are creating child chat from the
       | original parent chat. Have you tried something like connecting
       | merging two child chats to create a subsequent child chat? Or
       | maybe simply creating a child chat from a previous child chat?
        
         | visarga wrote:
         | I wish there was a node to load a folder of JSON, TXT or CSV
         | files, pipe them one by one and collect the outputs in another
         | folder. Like a LLM pipeline / prompt editor.
        
       | 7734128 wrote:
       | Make sure to have very tight limits on any API key you provide to
       | someone else. They could burn through tens of thousands of
       | dollars each day if you do not have security in place.
        
       | entherhe wrote:
       | I always feel like whiteboarding & concept mapping is better when
       | it comes to generative AI, especially when it comes to the nature
       | that we are chat in a "multimodal way" these days -- just think
       | of old plain text SMS compared to mems links rich-text powered IM
       | tools nowadays.
       | 
       | Congrats! you may also check flowith and ai.affine.pro for
       | similar selling points.
       | 
       | Also, heptabase is good and they will definitely make a ai
       | version soon or later.
        
       | ramoz wrote:
       | I like this and wished openai or anthropic enabled similar in
       | their UIs... it would be simple actually: "create a new chat from
       | here"
       | 
       | Otherwise, great job! It's cool, but it's pricey and that is a
       | personal deterrence.
        
         | gopher_space wrote:
         | I've pegged my thinking on software purchases to local
         | McDonald's drive-thru menu equivalencies.
        
           | diebillionaires wrote:
           | macdonalds is so overpriced, so I cannot condone this method
           | :)
        
       | pants2 wrote:
       | From watching the demo it looks interesting, but I figure I would
       | get tired of dragging nodes around and looking for ones that I'm
       | interested in. Does it allow searching?
       | 
       | It would be more interesting to me if it could use AI as an agent
       | to create a graph view - or at least propose/highlight followup
       | questions that self-organize into a graph.
        
         | setnone wrote:
         | Yes, search is one of my favorite features here, try '/'
         | shortcut
        
         | setnone wrote:
         | > I would get tired of dragging nodes around
         | 
         | Me personally i find value in taking my time to organize and
         | drag around, probably because i'm a visual thinker
        
       | yaantc wrote:
       | For a text based version of the "tree of chats" idea, using
       | Emacs, Org mode and gptel see `gptel-org-branching-context`in:
       | https://github.com/karthink/gptel?tab=readme-ov-file#extra-o...
        
         | tomfreemax wrote:
         | Of course, it can be done with emacs and org mode...
         | 
         | It's almost like every software or library will get ported to
         | JavaScript eventually, with the difference, emacs and org mode
         | was before.
        
       | rfc wrote:
       | Nice! This is really cool. Well done.
        
       | CuriouslyC wrote:
       | It looks like you put a lot of work into this but node based
       | workflows are ok when they're a necessary evil and just an evil
       | otherwise.
       | 
       | I'd be more interested in a tool where I can "add data" to it by
       | drag and drop or folder import, then I can just type whatever
       | prompt and the app's RAG system pulls relevant data/previous
       | prompts/etc out of its store ranked by relevance, and I can just
       | click on all the things that I want inserted into my context with
       | a warning if I'm getting near the context limit. I waste a lot of
       | time finding the relevant code/snippets to paste in manually.
        
         | setnone wrote:
         | For me this interface is canvas-based first, node-based second,
         | meaning sometimes I might not even use connections to get my
         | desired result from LLM but i have the place and form for the
         | result and i know how to find it. Connections here are not set
         | in stone like in mind mapping software for example, it's a
         | tool.
        
         | setnone wrote:
         | > I'd be more interested in a tool where I can "add data" to it
         | by drag and drop or folder import, then I can just type
         | whatever prompt and the app's RAG system pulls relevant
         | data/previous
         | 
         | This is something very similar to what i'm planning to add
         | next, so stick around.
        
         | ramoz wrote:
         | Well here's a somewhat limited version of your idea and really
         | only helps mitigate the copy/paste effort with coding:
         | https://github.com/backnotprop/prompt-tower
         | 
         | My original idea was a DnD interface that works at the os level
         | as a HUD... and functions like your idea but that is not so
         | simple to develop.
        
         | durch wrote:
         | This sounds a lot like my dream setup, We've been slowly
         | building something along those lines. I've linked a video at
         | the bottom that shows how we did something similar with an
         | Obsidian plugin. Hit me up if you're interested in more
         | details, we'd be happy to get an alpha user who gets it.
         | 
         | We've mostly had trouble explaining to ppl what exactly it is
         | that we're building, which is fine, since we're mostly building
         | for us, but still it seems like something like this would be
         | the killer app for LLMs
         | 
         | Obsidian Canvas UI demo ->
         | https://www.youtube.com/watch?v=1tDIXoXRziA
         | 
         | Also linking out Obsidian plugin repo in case someone wants to
         | dive deeper into what we're about -> https://github.com/cloud-
         | atlas-ai/obsidian-client
        
       | yoouareperfect wrote:
       | Very nice! Thanks for sharing, will definitely give it a try. I
       | think we settled for chat interface to play with LLMs, but
       | there's nothing really holding us back to try new ways.
        
         | x3haloed wrote:
         | Yeah, I'm annoyed that OpenAI has deprecated its text
         | completion models and API. I think there's a ton of value to be
         | had from constrained generation like what's available with the
         | Guidance library.
        
       | _boffin_ wrote:
       | Yes! this is what i've been thinking about!
        
       | LASR wrote:
       | Wow. I was so frustrated with chat that I was almost going to
       | write something like this myself. Now I don't have to :)
       | 
       | Curious about the business model here though. How much sales have
       | you had so far, if you don't mind me asking?
        
       | kkukshtel wrote:
       | I built a similar demo to this but for images - IMO this is a
       | much better structure for working with LLMs as it allows you to
       | really riff with a machine instead of feeling like you need a
       | deterministic "next step"
       | 
       | https://youtu.be/k_mJgFmdWWY
        
         | dvt wrote:
         | Sweet demo, you should do a Show HN! This is much more
         | interesting to me, as the visual element makes much more sense
         | here rather than just putting entire paragraphs in nodes.
        
         | setnone wrote:
         | Great stuff! That deterministic "next step" is the last line of
         | defense for us humans :)
        
       | pasaley wrote:
       | Interesting choice of questions in the demo.
       | 
       | Are you from Nepal?
        
         | setnone wrote:
         | No but I'm a frequent visitor, i love the mountains there!
        
       | niutech wrote:
       | You can get almost the same results for free using Obsidian
       | Canvas and one of the following plugins:
       | 
       | - https://github.com/MetaCorp/obsidian-augmented-canvas
       | 
       | - https://github.com/phasip/obsidian-canvas-llm-extender
       | 
       | - https://github.com/rpggio/obsidian-chat-stream
       | 
       | - https://github.com/zatevakhin/obsidian-local-llm
        
         | firtoz wrote:
         | Thank you, now I really have to try Obsidian...
        
       | btbuildem wrote:
       | Interesting take! It does seem to address a typical
       | "intermediate" workflow; even though we prefer linear finished
       | products, we often work by completing a hierarchy first. I've
       | been using Gingko [1] for years, I find it eases the struggle of
       | organizing the structure of a problem by both allowing endless
       | expansion of levels, and easily collapsing it into a linear
       | structure.
       | 
       | In your case, do you hold N contexts (N being the number of
       | leaves in the tree)? Are the chats disconnected from each other?
       | How do you propose to transition from an endless/unstructured
       | canvas to some sort of a finished, organized deliverable?
       | 
       | 1: https://gingkowriter.com/
        
         | setnone wrote:
         | Great questions!
         | 
         | > In your case, do you hold N contexts (N being the number of
         | leaves in the tree)?
         | 
         | It depends, contexts are just a form of grouping
         | 
         | > Are the chats disconnected from each other? > How do you
         | propose to transition from an endless/unstructured canvas to
         | some sort of a finished, organized deliverable?
         | 
         | RAG with in-app commands, i'm working on a local RAG solution,
         | it's early but promising. Basically chat with all your data and
         | applying a wide range of command on it.
        
         | Ringz wrote:
         | Slightly OT, but there was a standalone software just like
         | gingko for the Mac. Do you now something about it?
         | 
         | Edit: I think it was an old version of gingko as a desktop app.
         | Still available at https://github.com/gingko/client/releases
        
           | floam wrote:
           | Are you thinking of FlowList?
           | 
           | https://www.flowtoolz.com/flowlist/
        
             | Ringz wrote:
             | Thanks, but that's not the one. It was like a pure Markdown
             | outliner, very keyboard driven.
        
           | ludwigschubert wrote:
           | Are you thinking of Bike?
           | 
           | https://www.hogbaysoftware.com/bike/
           | 
           | (Maybe not -- this isn't markdown first; but it is a very
           | macOS-y, keyboard driven, hierarchical outliner that I
           | enjoy.)
        
             | Ringz wrote:
             | Bike looks very nice and it's built on open file formats. I
             | will try it out. Look at my edit above: it might be an old
             | version of ginkgo. But I'm on my phone right now and can't
             | figure it out...
        
       | jdthedisciple wrote:
       | looks packed with stuff, how long did it take u to build this?
        
       | asadalt wrote:
       | i wish perplexity had a similar ui option. so I can out my
       | research in multiple paths.
        
       | tomfreemax wrote:
       | Didn't find it in the documentation. How would I go about if I
       | want to self-host it for a small team of like 14 people?
       | 
       | Should I buy licenses for 14 (3x extended) instances, or 1 for
       | all, where everyone can see everyone's conversations or are there
       | accounts? I have a central ollama instance running and also
       | Openai API keys.
       | 
       | Thank you.
        
         | setnone wrote:
         | > How would I go about if I want to self-host it for a small
         | team of like 14 people
         | 
         | > Should I buy licenses for 14 (3x extended) instances
         | 
         | Yes that should work. Each license comes with 5
         | seat/activations. Each seat has its own copy of the data.
        
       | dangoodmanUT wrote:
       | Super cool, would be great for prompt engineering and iteration
        
       | rmbyrro wrote:
       | Thank you so much for building this, it's exactly what I was
       | looking for!
       | 
       | Love the license instead of subscription model. Also loved that I
       | can start trying right away without any hassle.
       | 
       | Couple suggestions:
       | 
       | I can't decide between Extended and Premium options. What does
       | "premium support" mean?
       | 
       | Also, it only shows an upgrade option in the check-out page,
       | perhaps it'd be interesting to include it in the FAQ and also the
       | Pricing section.
        
         | setnone wrote:
         | Thank you!
         | 
         | > What does "premium support" mean?
         | 
         | Premium option includes prioritized support and access to new
         | features that might be unavailable for other types of licenses.
         | 
         | I will update the website for more clarity.
        
       | mubu wrote:
       | This seems very cool and I'd like to try it out
        
       | nirav72 wrote:
       | This is great. More importantly - I love the pricing!!
        
       | groby_b wrote:
       | I have to admit, I don't get it. (And I want to be clear that's a
       | personal statement, not an overall comment on the app. It looks
       | quite well done, and if others get value from it, awesome!)
       | 
       | But for me, I'm stuck with questions. What's the point of drawing
       | connectors, there seems no implied data flow? Is this just for
       | you as a reminder of the hierarchy of your queries? Or do you
       | actually set the upstream chat as a context, and reflow the whole
       | thing if you change upstream queries? (That one would definitely
       | be fun to play with - still not sure about long-term value, but
       | def. interesting)
       | 
       | Good luck, and looking forward to see where you're taking this!
        
         | setnone wrote:
         | Thank you!
         | 
         | Like I mentioned earlier for me the app is canvas-based first,
         | node-based second. So connections are a tool, a visual tool to
         | craft or manage prompt to then feed it to LLM. Canvas is a
         | visual tool to organize and keep large amounts of chats.
         | 
         | I try use LLM not for the sake of chatting, but to get results
         | and those tools seem to help me with that.
         | 
         | Hope that makes sense.
        
       | raxrb wrote:
       | Do you plan to open source it? I will love to extend it. I had
       | similar ideas about non linear UI.
        
       | brunoborges wrote:
       | Can you share details of the technology stack used to build the
       | tool?
        
       | wan888888 wrote:
       | Amazing work, kudos! Love the canvas, drag'n'drop and line
       | connectors, did you use a library or made it yourself?
        
       | nssmeher wrote:
       | Great stuff! Interesting usecases will be present
        
       | bredren wrote:
       | Your full-stack dev graph seems to have 75 queries in it.
       | 
       | Please consider providing a demo video showing how this works
       | with code work.
       | 
       | I get the overall behavior, but sometimes code segments can be
       | quite long, or multiple specific sections need to be combined to
       | create additional context.
       | 
       | It would be helpful to see the current baseline product behavior
       | for interaction on a "common" coding task, solving problems in
       | typescript and / or python.
        
       | causal wrote:
       | Congrats on the launch - I love this. Organizing text is often
       | the hard part when working with LLMs.
       | 
       | Only thing I don't love is heavy mouse use. Are there keyboard
       | shortcuts for all the operations shown?
        
         | setnone wrote:
         | Thanks!
         | 
         | > Are there keyboard shortcuts for all the operations shown?
         | 
         | For now yes, what would you like to be added?
        
       | altruios wrote:
       | The only feedback I would give is I'm suspicious of (will not
       | buy) closed sourced AI anything. With that said: thank you for
       | sloughing off the subscription model trend! That is welcome.
       | 
       | But going open source so that I know "for sure" no telemetry is
       | being sent and charging for support would be the only way to get
       | money out of me for this. I'm probably the odd one out for this,
       | so take that with a fair helping of salt.
       | 
       | This is a great idea, so much so that this is also something I
       | could probably put together a MVP of in a weekend (or two) of
       | dedicated work (the fancy features that I personally don't care
       | about would probably take longer to implement, of course...).
       | 
       | Good work! Keep it up.
        
       | joshuahutt wrote:
       | Very cool! I built a version of this [1], but balked at trying to
       | sell it. This is the third iteration of this idea I've seen so
       | far. Your reply popup is a smart feature and a nice touch! Love
       | it. I love the privacy focus and BYOK, as well.
       | 
       | Congrats on the launch!
       | 
       | Really cool to see graph interfaces for AI having their moment.
       | :)
       | 
       | [1] https://coloring.thinkout.app/
        
       | teruakohatu wrote:
       | It seems to work well but a desktop app (or self hosted) is
       | essential. I can't paste in valuable API keys to a third party
       | website.
        
         | setnone wrote:
         | Desktop app is coming soon and self-host option is already
         | available as a part of Extended License.
         | 
         | I have no plans to open source it at the moment, but it would
         | be great to come up with something like 'open build' for cases
         | like that.
        
           | teruakohatu wrote:
           | The purchase screen made me think self hosted was coming soon
           | for extended. How far off is desktop and will the desktop be
           | self-hosted or an interface to the website ?
        
             | setnone wrote:
             | Not far off, some days i would say.
             | 
             | Yes it's a wrapper with opted-out sentry and vercel
             | analitycs, just like self-host package.
        
       | freedomben wrote:
       | This looks really cool. I did not expect to see something I might
       | actually buy but this is something that could be very nice for me
       | :-)
       | 
       | Will the Self-host package include source (i.e. source available)
       | or is it just the transpiler output?
       | 
       | Also, is there (or plan to be) support for postgres or other
       | database for persistence?
        
       ___________________________________________________________________
       (page generated 2024-05-08 23:00 UTC)