from Hacker News

Show HN: I built a non-linear UI for ChatGPT

by setnone on 5/8/24, 4:41 PM with 130 comments

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!

  • by lIIllIIllIIllII on 5/9/24, 9:46 AM

    For what it's worth, one CSS line lags the HELL out of my laptop on the site. It's backdrop-filter: blur(0.1875rem) for modals, like the youtube video popup
  • by carlosbaraza on 5/9/24, 8:41 AM

    Sometime ago I had an idea for a similar interface without the dragging feature. Basically, just a tree visualisation. I usually discuss a tangent topic in the same conversation, but I don't want to confuse the AI afterwards, so I edit a previous message when the tangent started. However, OpenAI would discard that tangent tree, instead it would be nice to have a tree of the tangent topics explored, without necessarily having to sort them manually, just visualising the tree.
  • by btbuildem on 5/8/24, 6:40 PM

    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/

  • by Hrun0 on 5/8/24, 11:28 PM

    You can create something like this easily by yourself using Obsidian and a plugin like https://github.com/AndreBaltazar8/obsidian-canvas-conversati...
  • by pants2 on 5/8/24, 5:23 PM

    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.

  • by altruios on 5/8/24, 9:05 PM

    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.

  • by ramoz on 5/8/24, 5:19 PM

    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.

  • by siva7 on 5/9/24, 9:35 AM

    Good landing page, explained to me the product well enough. I like your concept also as i wished sometimes for something similiar in the past.
  • by rajarsheem on 5/8/24, 5:09 PM

    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?
  • by Wheaties466 on 5/9/24, 1:32 PM

    something i built as an add on but would be nice to integrate into some of these front ends would be a find replace key: value store to assist in potentially "leaking" something.

    if you could replace IPs or domains or subdomains with a filler domain like something.contoso.com and send that to chatgpt instead of my internal domain that would be a feature that I would pay money for.

    like i said i have an implementation written in python for this but its an add on to an additional frontend which makes it extra clunky.

  • by entherhe on 5/8/24, 5:16 PM

    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.

  • by seedie on 5/9/24, 6:26 PM

    Congrats on the launch. I'll take a closer look soon and only played around a bit.

    Would be great if you could extend the documentation.

    If you're not open sourcing the app, what about at least open sourcing the documentation?

    One thing I'd like to extend is on https://www.grafychat.com/d/docs/intro

    3. Configure Ollama server to make sure it allows connection from grafychat.

    That's not very helpful. Something along the line Set the environment variable OLLAMA_ORIGINS to "https://www.grafychat.com" and rerun "ollama serve". Use your custom host if your using the self-host option.

      ```sh
      OLAMA_ORIGINS="https://www.grafychat.com" ollama serve
      ```
    
    Is not that much more text but makes it way easier for people to go and try out your app with ollama.
  • by ntonozzi on 5/8/24, 5:04 PM

    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.

  • by groby_b on 5/8/24, 7:47 PM

    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!

  • by joshuahutt on 5/8/24, 9:06 PM

    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/

  • by borgdefense on 5/10/24, 11:46 AM

    Looks interesting. I had an idea last year that I never acted on that was down this same path.

    The design looks really nice.

    At this point, my chats are so brief and infrequent compared to a year ago. The standard UI is more than I need at this point as I never reference back to any past chat.

    I also find I seem to get the best answer from the least context. Extra context seems to hurt more than it helps for my uses.

    Down the line something like this might be an obvious interface everyone will want to use. Right now though its not even something I need to try.

    Congrats though. I love BYOAK.

  • by yoouareperfect on 5/8/24, 6:14 PM

    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.
  • by bredren on 5/8/24, 8:35 PM

    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.

  • by rmbyrro on 5/8/24, 7:16 PM

    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.

  • by buescher on 5/9/24, 3:20 PM

    A tree visualization like this one would be great as a complement to tabs in web browsing, especially on a monster display.
  • by wan888888 on 5/8/24, 8:08 PM

    Amazing work, kudos! Love the canvas, drag'n'drop and line connectors, did you use a library or made it yourself?
  • by yaantc on 5/8/24, 5:27 PM

    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...
  • by tomfreemax on 5/8/24, 7:07 PM

    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.

  • by invisitor on 5/9/24, 3:38 AM

    Looks interesting. I'm working on an LLM client myself.

    Video: https://files.catbox.moe/zy4tbr.mp4

    Repo: https://github.com/Merkoba/Meltdown

  • by freedomben on 5/8/24, 10:52 PM

    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?

  • by xucian on 5/9/24, 1:22 PM

    nice, something I didn't know I needed :D

    might want to increase font weight in the pricing section, it's hard to read

    also in "How much does it cost?" I think you should also add the Free option (for those like me who missed the Try For Free button at the top)

  • by raxrb on 5/8/24, 8:04 PM

    Do you plan to open source it? I will love to extend it. I had similar ideas about non linear UI.
  • by LASR on 5/8/24, 6:24 PM

    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?

  • by iknownthing on 5/8/24, 5:07 PM

    Curious why you settled on the BYOAK approach rather than a subscription approach
  • by causal on 5/8/24, 8:59 PM

    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?

  • by 7734128 on 5/8/24, 5:10 PM

    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.
  • by CuriouslyC on 5/8/24, 5:53 PM

    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.

  • by midnitewarrior on 5/9/24, 5:48 AM

    Can you go get acquired by Phind please? Brainstorming with the robots is a non-linear activity and I believe you are on the right track.
  • by teruakohatu on 5/8/24, 9:45 PM

    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.
  • by noashavit on 5/9/24, 12:22 AM

    Congrats on the launch! I love that you let ppl try it without even signing up! The mobile experience needs to work tho.
  • by _akhe on 5/9/24, 12:28 AM

    Powerful stuff, this is the kind of workspace I've been waiting for for AI. Excited to see how it evolves!
  • by troupo on 5/9/24, 10:57 AM

    I wanted the same for myself but balked at the amount of work I'd need to do to implement it :)

    Great job!

  • by Zambyte on 5/8/24, 5:05 PM

    Looks cool! How can I host it?
  • by htrp on 5/8/24, 11:50 PM

    have you looked at airops (similar ideas that you could 'borrow' from)

    https://www.airops.com/platform

  • by brunoborges on 5/8/24, 8:08 PM

    Can you share details of the technology stack used to build the tool?
  • by damnever on 5/9/24, 7:44 AM

    Awesome, this is similar to the thread conversations on Slack.
  • by dangoodmanUT on 5/8/24, 7:15 PM

    Super cool, would be great for prompt engineering and iteration
  • by jdthedisciple on 5/8/24, 6:52 PM

    looks packed with stuff, how long did it take u to build this?
  • by shanghaikid on 5/9/24, 8:23 AM

    This is interesting and all, but it's a tad complex to use. AI is supposed to simplify your life, but this just ends up making things more complicated.

    Ask -> answer, no more steps, that is the core value of ChatGPT or AI.

  • by whiddershins on 5/9/24, 3:20 PM

    Cool!

    You have a typo in the word ‘presicion’

    Ironically

  • by nirav72 on 5/8/24, 7:33 PM

    This is great. More importantly - I love the pricing!!
  • by mubu on 5/8/24, 7:31 PM

    This seems very cool and I'd like to try it out
  • by nssmeher on 5/8/24, 8:27 PM

    Great stuff! Interesting usecases will be present
  • by _boffin_ on 5/8/24, 6:15 PM

    Yes! this is what i've been thinking about!
  • by pasaley on 5/8/24, 6:32 PM

    Interesting choice of questions in the demo.

    Are you from Nepal?

  • by rfc on 5/8/24, 5:45 PM

    Nice! This is really cool. Well done.
  • by asadalt on 5/8/24, 7:03 PM

    i wish perplexity had a similar ui option. so I can out my research in multiple paths.
  • by p1esk on 5/9/24, 12:49 AM

    Hard to try it on my phone.
  • by subhashp on 5/9/24, 7:16 AM

    Excellent UI! I love it.
  • by niutech on 5/8/24, 6:34 PM

  • by kkukshtel on 5/8/24, 6:27 PM

    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