11 ms·
Building a TUI is easy now
- emilfihlman 8mo agoThe thing with TUIs is that, using mobile native virtual keyboards, it's apparently quite impossible to make them behave in a sane way in browsers! I think the only reasonable option seems to be reimplementing one yourself, which is massively stupid.
- NetOpWibby 8mo agoMobile is not for TUI
- bahmboo 8mo agoMore specifically it's an interface designed for a physical keyboard. Or even more specifically it's designed for precise and easy human text input.
- verdverm 8mo agoespecially where you typically type with all fingers instead of just your thumbs
- emilfihlman 8mo agoSure it is. I, and millions of others, use it all the time with for example Termux.
- beej71 8mo agoMy Ratatui test app (Conway's Life) runs great in Termux. :)
- emilfihlman 8mo agoTermux is seriously amazing (with its quirks, of course)! Have you tried porting your test app to a web page? I'd really like to have a good TUI experience on the web.
- avaer 8mo agoIf you have a TUI the correct way to support mobile browsers is to 1-shot a React page equivalent. Trying to make the mobile keyboard work for this would be silly.
- 1313ed01 8mo agoI use TUIs almost daily on my android phone, either some Linux application in Termux or a DOS application in DOSBox. Both have some extra on screen controls to add special keys, and DOSBox in particular allows adding widgets to control things (including invisible buttons, that are fun to add in some cases over parts of the screen in DOS to give an old game or application touch controls).
- emilfihlman 8mo agoI also use Termux daily! It's really a superb tool. I only wish we could have that same experience without requiring a native app.
- jgauth 8mo agoCharm looks good. What is the TUI library of choice for python these days?
- 2muchtime 8mo agohttps://www.textualize.io/ https://www.textualize.io/
- its_magic 8mo ago[dead]
- socalgal2 8mo agoDo we want tuis? I can’t stand Gemmin-CLI. That tui gets in the way constantly I’m mixed in jj’s tui. It’s better than no ui tho Mostly tho I’m curious when I’d want a tui. Most of the time in a terminal I don’t want one
- 2muchtime 8mo agoI do. I want my interfacing with computers to be mouseless and TUIs offer that. I don’t think I’ve run into a GUI, no matter how many hotkeys it has and I know, where I didn’t have to reach for the mouse. CLI only also requires remembering commands, some of which I use very infrequently, thus need to look up every time I use them. I think TUIs hold a very nice spot between GUIs and CLI.
- verdverm 8mo agoVS Code with the Vim extension is largely mouseless I use the TUI from a terminal tab in VS Code, my agent works with that and the custom extension with a webapp based interface, seamlessly and concurrently GUIs, TUIs, and PR/kanban all make sense in different situations. We'll all use at least two of them on regular basis for coding agents. TUIs make way less sense for your average user
- dualogy 8mo ago> VS Code with the Vim extension is largely mouseless It's also easily mouseless without any Vim or like extension. I never mouse in it, having given intuitive-to-me keychords to all the various moves I need to make beyond the standard stuff.
- verdverm 8mo agotrue, I would never have moved over if I had to give up my vim bindings and modes
- liveoneggs 8mo agoI just want a stream, not a TUI. If you can't | it it's not real
- tantalor 8mo ago> most importantly, they live inline to your code, preventing constant tab switching No idea what this means.
- oj-hn-dot-com 8mo agoI think the reference is to all the TUI based coding tools now like opencode.
- prydt 8mo agoI think the implicit assumption here is that you are using a terminal-based code editor like neovim... which is not necessarily true.
- esafak 8mo agoIf it was so easy Anthropic wouldn't have messed up CC for so long. The author takes for granted the availability of good off-the-shelf TUI libraries for his chosen language.
- SoftTalker 8mo agoI don't see any real advantage of TUIs over web forms or GUIs for the same thing. I do like CLIs though, especially the ones that are properly capable of working in pipelines. Composing a pipeline of simple command-line utilities to achieve exactly what you want is very powerful.
- christophilus 8mo agoTUIs are much easier to run in a container, for one thing. Though, I guess a terminal-based web browser would work for some web apps.
- sophacles 8mo agoHaving a tui file picker in the pipeline can be a powerful technique. Sometimes it just makes sense to have an interface that is slightly more interactive than pre-selecting all the files makes the flow smoother. Being able to put that into a script/alias/whatever is nice. Other CLI things benefit from this "have a minimal ui interface in the workflow for the one step where it makes sense".
- verdverm 8mo agoI just added a TUI built on Charm for my custom agent. I primarily use it for two things. 1. Navigating all my chat sessions and doing admin work. It's super fast to push a single key to go in and see what it was about before deleting it. 2. Testing out features and code changes without the web UI / vs code extension complexity. 3. Places where I cannot connect VS Code. I still want to chat and see diffs, a TUI is much easier than a CLI for this. It also has a CLI, basically three interfaces (CLI, TUI, GUI (vscode/webapp)) to the core features of my personal swiss army knife (https://github.com/hofstadter-io/hof https://github.com/hofstadter-io/hof)
- 1123581321 8mo agoI like a TUI when I always want an app to run side by side with a CLI. It’s easier to do split windows in a terminal or tmux/zellij panes than to script two separate app windows to stay locked together as a pair. Although, I’d welcome advice as to how to do it better. I also find TUIs are easier to program for the same reason they’re limited. Fewer human interface aspects in play and it’s not offensive to use the same UI across OSes. (There are still under-the-hood differences across OSes, e.g. efficient file event watching.)
- fragmede 8mo agoThey are! I (well, Claude) built nitpick as a TUI HN client, and it was surprisingly easy to do. https://github.com/fragmede/nitpick https://github.com/fragmede/nitpick
- christophilus 8mo agoThere are plenty of great tools available these days. Bubbletea would be my tool of choice, I think: https://github.com/charmbracelet/bubbletea https://github.com/charmbracelet/bubbletea
- verdverm 8mo agoCharm is what the post submission is using
- esclerofilo 8mo agoI too enjoy the charm TUI libraries, and have been using them to build a settlers of Catan game[0]. And some features are really cool, like different colors depending on dark/light theme. They have a bunch of functions that concatenate strings, which may not be very efficient compared to using string.builders, but I haven't yet had performance problems. However I haven't had such a great experience with AI, IMO they're bad at ASCII art. [0]: https://sr.ht/~vicho/el_poblador/ https://sr.ht/~vicho/el_poblador/
- fragmede 8mo agoThe problem with TUI's, that we have all Stockholm syndrom'd ourselves, is that I can't use the mouse cursor to click to the position on the screen and edit the command line.
- verdverm 8mo agoYou can use the mouse with TUIs build on the Charm stack https://github.com/lrstanley/bubblezone https://github.com/lrstanley/bubblezone There are a lot of components that resemble things you find in web component libraries
- willm 8mo agoIt is possible. Terminals have supported mouse interactions for a long time.
- fragmede 8mo agopossible isn't the same as supported and working. A non-terminal hunt-and-peck typer sits down and is presented with a terminal, what's the second that happens when they're typing? they make a mistake and try to click on the word they misspelled, and it doesn't work.
- hnlmorg 8mo agoThat’s a very specific gripe to make. So specific that you have to acknowledge it’s not going to be a deal breaker for everyone. Which makes me wonder why you’d use the “Stockholm Syndrome” argument — assuming you used it in good faith and not just because you wanted to sound edgy (or some approximate synonym of)
- fragmede 8mo agoIt's a thing that confuses every single person the first time they touch a terminal! Could do without the diction-based ad hominem.
- verdverm 8mo agoDagger has a really nice TUI built on Charm. It reads OTEL to create an interactive tree for your builds and containers. If you have cloud setup, it will also push that all to a webapp interface where you can share and navigate in perpetuity. This works for both CI and local runs, super cool for sharing links to failed builds during dev, even while the dev's local build is still running https://www.youtube.com/watch?v=EPEGTfaFnpA https://www.youtube.com/watch?v=EPEGTfaFnpA
- nout 8mo agoI think mc (Midnight Commander) is still one of the best TUIs available - it's very close in capability to the GUI versions (like Double Commander) and it has the benefits of tuis - like that you can run it on a remote system. It looks outdated, but I'm actually now working on a new skin that will hopefully be included in the next release of mc.
- il-b 8mo agoKudos to all mc developers!
- CoolCold 8mo agoI had bad feelings on MC, as it's flaky. Far Manager or Dos Navigator are much better IMO.
- sellmesoap 8mo agoI had mc on my $20 second hand 286, there are some newer takes on the classic, ranger and nnn come to mind, support for images on the terminal with sixel is pretty neat! https://github.com/ranger/ranger https://github.com/ranger/ranger https://github.com/jarun/nnn https://github.com/jarun/nnn
- pelcg 8mo agoSome of my personal favourites TUI are all over GitHub and there are lots of them to have a look at can be found here: https://github.com/rothgar/awesome-tuis https://github.com/rothgar/awesome-tuis https://terminaltrove.com/explore/ https://terminaltrove.com/explore/ Building for Charm, ratatui and many others is really getting much easier than before thanks to AI.
- elevation 8mo agoAs LLMs consume all our compute resources and drive up prices for the compute hardware on which we run applications, the silver lining is that LLMs are helpful in implementing tooling without a heavy stack so it will run quickly on a lower-spec computer. I've achieved 3 and 4 orders of magnitude CPU performance boosts and 50% RAM reductions using C in places I wouldn't normally and by selecting/designing efficient data structures. TUIs are a good example of this trend. For internal engineering, to be able to present the information we need while bypassing the millions of SLoC in the webstack is more efficient in almost every regard.
- mseepgood 8mo agoThe question is how many decades each user of your software would have to use it in order to offset, through the optimisation it provides, the energy consumption you burned through with LLMs.
- embedding-shape 8mo agoEspecially considering that suddenly everyone and their mother create their own software with LLMs instead of using almost-perfect-but-slighty-non-ideal software others written before.
- mulmen 8mo agoI’m not really worried about energy consumption. We have more energy falling out of the sky than we could ever need. I’m much more interested in saving human time so we can focus on bigger problems, like using that free energy instead of killing ourselves extracting and burning limited resources.
- grogenaut 8mo agoIn the past week I made 4 different tasks that were going to make my m4brun at full tilt for a week optimized down to 20 minutes with just a few prompts. So more like an hour to pay off not decades. average claude invocation is .3 wh. m4 usez 40-60 watts, so 24x7x40 >> .3 * 10
- elevation 8mo ago
- keybored 8mo agoBuilding an article is easy now.
- lysace 8mo agoHah.
- deleted 8mo ago[deleted]
- zokier 8mo agoBig reason why TUIs were popular in the first place is because they are so much simpler to build. Compare ncurses to GTK/Qt, they are completely different leagues. One of my pet ideas is to build a ncurses compatible/style library that skips terminal layer and instead renders directly to Wayland, kinda getting the simplicity of ncurses without dragging all the legacy junk with it.
- CuriouslyC 8mo agoYet ironically getting Claude Code to run at 60fps is way way harder in a TUI? Kinda funny that they optimized for "simple" then footgunned themselves into a client that probably took thousands of man hours to get to a reasonable place for power users.
- empath75 8mo agoI was working on a fairly niche thing, a library of crossplane compositions written in KCL and thought it would be nice to have a TUI so i could browse through them and see the rendered yaml as claude was working on it. I asked claude code to write it with python and textual and it one shotted it in about two minutes including a test suite.
- qingcharles 8mo agoGemini built a nice TUI for me for a DHT scraper project I was coding: https://imgur.com/a/u3KHbDT https://imgur.com/a/u3KHbDT It was like two-shot, cos the first version had some issues with CJK chars. I was impressed as it would have taken me a bunch of screwing around on lining up all the data etc when I wanted to concentrate on the scraping algorithm, not the pretty bits.
- aspenmayer 8mo agoI’d be interested to hear more about your project. I’ve heard about other DHT related things like search engines and such using it, but I haven’t explored the space much myself.
- codethief 8mo ago"DHT" as is "distributed hash table"? (That is indeed a nice TUI.)
- odiroot 8mo agoWhat libraries did it use?
- dwb 8mo agoI think TUIs-that-want-to-be-GUIs (as opposed to terminal commands just outputting plain text) are sad. Mainly because they’re largely inaccessible. They flatten the structure of a UI under a character stream. You’re forced to use it exactly the way it was designed and no different. Modern GUIs, even web pages too, expose enough structure to the OS to let you use it more freely. I get why people build TUIs, but it’s a sorry state of affairs.
- dale_glass 8mo agoI disagree, I think TUIs are a great fit in some problem domains. Think for instance the Debian package configuration dialogs -- they're far more comfortable than the same questions without a TUI, and still work over a serial console if you have to use one. For tools like various kinds of "top", there's many potential tools you can use to the same end and intentionally using one that draws CPU graphs over one that just displays a number. Graphs are much easier to interpret than a column of numbers. In many cases they're the optimal choice given some constraint -- like the desire to have minimal dependencies, working over SSH, and being usable without breaking the flow. Yeah, you could make a tunnel to a tool that runs a local webserver and delivers graphs by HTTP, but the ergonomics of that are terrible.
- dwb 8mo agoSure, I said I understand why people build them. I’ve used a lot of them. And yes with the tools we have you’re right, but I’m more lamenting the wonky, kind of archaic, unintegrated, only-semi-composable toolset that we have. No fundamental reason why you couldn’t deliver more structured UIs directly over SSH or a serial console, it’s just that in this timeline that didn’t happen yet (apart from X forwarding, which isn’t quite what I’m on about).
- fragmede 8mo agoYes. Composable GUI is what we're after.
- 8mo ago
- d4rkp4ttern 8mo agoIndeed. Over a few days of iterations I had this TUI built for fast full-text search of Claude Code or Codex sessions using Ratatui (and Tantivy for the full-text search index). I would never have dreamed of this pre coding agents. https://pchalasani.github.io/claude-code-tools/tools/aichat/search/ https://pchalasani.github.io/claude-code-tools/tools/aichat/...
- themafia 8mo ago"Creating garbage is easy now." It runs poorly, loses keystrokes, and easily gets bogged down with too much terminal input. I don't want candy coated monospace ASCII graphics. I want something fast and functional. The graphics are _entirely_ secondary. You've missed the point of what a TUI is.
- silon42 8mo agoTerminals still have poor keyboard support these days, starting with the Escape key (which should not be ASCII 27 IMO) and various ctrl/shift/alt... key combinations.
- mrandish 8mo agoAlex, It's somewhat ironic that a web page about performant terminal user interfaces uses gratuitously complex CSS mask compositing and cubic gradients which reduce smooth scrolling on my 1 year-old, high-end Dell XPS laptop (>$3k) to Commodore 64 level (on default 'Balanced' battery mode). While it's pretty, it's also just a very subtle, non-critical background animation effect. Not being a CSS guru myself, here's what Gemini says: > "Specifically, this is a Scrim or Easing Gradient. Instead of a simple transition between two colors, it uses 16 color stops to mimic a "cubic-bezier" mathematical curve. This creates a smoother, more natural fade than a standard linear gradient, but it forces the browser to calculate high-precision color math across the entire surface during every scroll repaint." My Firefox smooth scrolls like butter on thousands of pages, so you might want ask your web designer to test on non-Mac, iGPU laptops with hiDPI and consider the performance cost of web pages with always-running subtle background animations in a world of diverse hardware platforms. In case it helps, here's the animation with the gradient layers disabled so you can see all 6,400,000 pixels which are being recalculated every scroll line (https://i.imgur.com/He3RkEu.jpeg https://i.imgur.com/He3RkEu.jpeg).
- abelanger 8mo agoYou're right - I'll remove that now until we can get it more performant or drop it altogether. This wasn't something we caught during testing. I appreciate the feedback!
- bloqs 8mo ago[flagged]
- huflungdung 8mo ago[dead]
- zelphirkalt 8mo agoWhile you are at it, it would be good, if the post was readable at all, without having to run JS on the page.
- arjie 8mo agoTUIs are great fun and Claude can make beautiful ones with a little ratatui action super fast. However, the downside of these are that you can't use them with Claude Code so while I have a few I prefer to also have a prompt-response CLI function since that's better for lots of things.
- arcanemachiner 8mo agoNot sure if this satisfies your requirements, but I've gotten Claude Code to run commands in tmux and view their output (including debugging my NeoVim config), so I think that a TUI is at least accessible, even though it would likely bloat the context window far more than a simple CLI.
- SatvikBeri 8mo agoYeah, this is my main way of using Claude Code for anything complex – a REPL or bash window in tmux, and with Claude running commands there. That lets me easily browse through anything that's happened in a UI I'm used to, or manually intervene if needed.
- arjie 8mo agoThat's pretty nice! It's just the context window problem, yes, but the tmux tip is pretty good nonetheless.
- dddgghhbbfblk 8mo agoThe article talks about this and in fact talks about how one of the advantages of the TUI was that by combining it with `tmux capture-pane` it ended up easier for Claude to use and iterate on, not harder.
- dchuk 8mo agoThis works very well for automated testing from Claude code: https://github.com/pproenca/agent-tui https://github.com/pproenca/agent-tui
- reactordev 8mo agoit's always been easy with ansi... Everyone just thinks it's hard because there's no React for TUI's until recently. '\x1b[' is all you need. It was good enough for ncurses, it's good enough today.
- euoia 8mo agoClaude Code has done a good job of building a tui MUD client (I couldn’t find one I liked), and then building a GUI version using Tauri where all the config is shared, so you can run it as either a GUI (on any platform) or TUI. Happy with it so far, and I personally use both TUI mode or GUI mode (with floating panes) depending on what I’m doing.
- abelanger 8mo agoHi everyone, I enjoyed building this TUI for myself and wanted to write down how I did it. I appreciate all the thoughts and feedback! The web app is our main investment, but I think there's a slice of developers who really like to interact with TUIs, so I'm going to keep working on it. For the demo at https://tui.hatchet.run https://tui.hatchet.run, to answer some messages asking about it: I built this with the fantastic ghostty-web project (https://github.com/coder/ghostty-web https://github.com/coder/ghostty-web). It's been a while since I've used WASM for anything and this made it really easy. I deployed the demo across six Fly.io regions (hooray stateless apps) to try to minimize the impact of keystroke latency, but I imagine it's still felt by quite a few people.
- ghostly_s 8mo agoWere TUIs hard before?
- dudewhocodes 8mo ago"Building X is easy now"... it was never hard if you had the patience to read docs. We should be saying "Building X is faster now" instead. But I guess that doesn't induce god complex that effectively.
- nchmy 8mo agoI never turn down a chance to plug my favourite TUI - jjui, for controlling jj vcs. Life changing combination (and jjui is built with Charm) https://github.com/idursun/jjui/ https://github.com/idursun/jjui/
- Systemmanic 8mo agoTUI: Terminal User Interface
- mvkel 8mo ago> The Hatchet TUI is not well supported on mobile devices. Isn't everyone else remoting into a Claude instance on their phones?
- jandy 8mo agoPrimary driver for me (finally) learning tmux.
- bronlund 8mo agoI love Claude Code, but how they made the TUI is just plain stupid. Not how it looks, but you know, the React part.
- stingraycharles 8mo agoIt’s a very cumbersome UI that feels extremely bloated. Especially if you have a lot of text you want to scroll over — eg i want to see the details of the last X exchanges - it just performs absolutely horribly. It seems like it already was like this from the start, though? I’m not a frontend / TUI dev, but why are these issues so hard to fix?
- wpm 8mo agoIt's just architected poorly. The job of putting text on a screen fast has been solved for 50 years.
- charcircuit 8mo agoIf the render is already made in JavaScript it makes sense to reuse react as the reconciliation engine instead of building one from scratch.
- LAC-Tech 8mo agoWhat is a "reconciliation engine" and why does a TUI need one?
- charcircuit 8mo agoIt solves the problem of if the UI changes, what characters on the terminal do we need to update to show the right thing to the user.
- codethief 8mo agoJust like in GUI, in a TUI you need some mechanism to make the rendering output (the characters) match the internal state of the application. E.g., the user hit ESC -> internal state is CANCELED/WAIT FOR USER -> internal GUI representation now includes a prompt that asks the user to tell Claude what to do differently -> rendering output actually shows said prompt.
- tekawade 8mo agoLooks great. Curious why not choose Rust and do extension of https://ratatui.rs/ https://ratatui.rs/?
- jvanderbot 8mo agoYeah, whenever I hear "Building a TUI is easy now" I imagine someone just discovered ratatui.
- d0mine 8mo agoThere are also other frameworks that make it easy to create TUI eg Textual (in Python) https://textual.textualize.io/ https://textual.textualize.io/
- hinkley 8mo agoI haven’t done much with Claude code yet but I’ve watched some rather recent videos of other people leverage it to get work done and I couldn’t help thinking, are we going to end up with a similar UI but with fully deterministic “agents” at the end of this hype cycle. All of the skills I saw demonstrated were deterministic. So does this end in a Functional Core, Imperative Shell scenario that looks like a Terraform Plan and a search engine-style natural language processor out front?
- theYipster 8mo agoWith Claude, I built a TUI for managing QEMU/KVM VMs (Rust with ratatui.) Solves a lot of problems I had with virt-manager, so I made it a FOSSS project. https://www.vm-curator.org https://www.vm-curator.org.
- neomantra 8mo agoBuilding a TUI was easy before, especially with the great toolsets for their respective languages BubbleTea / Textualize / Ratatui. And thanks to those frameworks, LLMs can manifest useful tools. Similar to WebApps, it's only since the November'25 renaissance that I felt I could use them to create TUIs. Once I had that revelation, I started going into my backlog and using it. I maintain a TUI Charting library, NTCharts. In January, I fixed a bug - totally obvious once identified - that I personally failed to find earlier. But the test harness, prompting, and Gemini got it done [1]. Gemini's spatial understanding was critical in completing the task. I've been vibe-crafting a local LLM conversation viewing tool called thinkt. After scraping ~/.claude and making a data model, this is the point in PROMPTS.md where I start creating the TUI using BubbleTea. [2]. [1] https://github.com/NimbleMarkets/ntcharts/issues/7#issuecomment-3732895279 https://github.com/NimbleMarkets/ntcharts/issues/7#issuecomm... [2] https://github.com/wethinkt/go-thinkt/blob/main/PROMPTS.md#2026-01-25t043612z https://github.com/wethinkt/go-thinkt/blob/main/PROMPTS.md#2...
- pjmlp 8mo agoBuilding TUIs was already super easy in 1990 with Turbo Vision and Clipper on MS-DOS, with compiled languages (TP, xBase), using super fast build times on systems running at 10 Mhz, within 640 KB.
- dardeaup 8mo agoAbsolutely correct! We've lost a lot along the way.
- 1313ed01 8mo agoI built a TUI application for MS-DOS (well, DOSBox) recently, just using the few functions in MSC 5.1's included graphics library (plus a few simple BIOS calls) and what a joy compared to web interfaces or any GUI library I have used. Having a fixed screen size and known, limited, character set is at least developer-friendly. Of course there existed more advanced libraries as well, but for a simple TUI just a few functions can go a long way. https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/TOOLS/BLD/INC/GRAPH.H https://github.com/microsoft/MS-DOS/blob/main/v4.0/src/TOOLS...
- shevy-java 8mo ago> Notably this was the first time I felt that using Claude Code for something non-arbitrary was significantly faster than doing it myself Well, it is like code completion on a higher level. I still don't like this approach. Besides, who is going to maintain that code? Such code will probably forever be required to be maitnained via Claude. So no humans involved. Just autogenerated stuff. I dislike this idea a lot. Humans are slower, ok, but they built excellent software before Claude. What is coming next? Claude Linux-like Kernel? Top500 supercomputers will run it?
- abelanger 8mo agoAuthor here - I'm also generally skeptical of coding agents, but with the right problem domain and approach they can produce quality output when paired with humans. There was a point in time in the chess world where computer + human was stronger than computer or human alone. I think we're in that era for a handful of applications. Not for things like kernels, browsers, or databases. > Besides, who is going to maintain that code? I maintain the code. If Claude gets sunset tomorrow, I'll still be able to maintain and write it - I've already rewritten parts of it. You could make the same argument for a team member leading a project that you've worked on. Is that code forever required to be maintained by one team member? Previously the overhead of ensuring code quality when the development process was driven by Claude Code was greater than just writing the code myself. But that was different for this project.
- bob1029 8mo agoI genuinely don't understand the TUI obsession for LLM applications. Go watch copilot drive VS2026 if you've never seen it in action. There is no way you are going to be able to communicate this same amount of information via plain text in the same amount of time. I can catch a lot of bad stuff mid-flight because I can actually multitask my UI and click into diffs as files are edited in real time.
- madeofpalk 8mo agoYeah. I prefer the smarts of Claude code, but the GitHub copilot UI in vs code is much better, especially for previewing ai diffs. I was (am) excited for vs codes new native Claude code integration, but it’s pretty buggy and unreliable.
- nip 8mo agoThe reason is simple: the TUI is the fastest way to provide any form of UI over the file system. Want to do that with web technologies? You’ll need a browser AND a server or build an app using electron or tauri.
- bob1029 8mo agoI don't disagree. However, the TUI seems to have become the final destination for some major AI vendors. This doesn't look like a stepping stone to me.
- r0b05 8mo agoI have been wondering where this trend started as well. It's geared towards vibe coders who don't need to see a lot of info.
- esafak 8mo agoHow fast does it need to be? We're talking about LLMs that run in the cloud here.
- ahzhou 8mo ago
- rcarmo 8mo agoDoesn’t work on an iPad. It’s not that hard to fix, but shows that the fundamentals of input handling and accessibility aren’t there.
- efilife 8mo agoI knew this would be ANOTHER ai glazing post before even clicking. I think we must specify if a post is about AI in titles. Another "I built X" with AI really brings nothing to the table, and I've seen a few users agree with me on this. https://news.ycombinator.com/item?id=46580844 https://news.ycombinator.com/item?id=46580844 Here's a similar situation, a submission called "webdev is fun again", and what you find inside is just gushing about how good AI is. Genuinely what value does it bring? I think this phenomenon is literally "clickbaiting" but on hackernews Other users from here seem to see the same thing that I do: https://news.ycombinator.com/item?id=47008412 https://news.ycombinator.com/item?id=47008412 https://news.ycombinator.com/item?id=47010624 https://news.ycombinator.com/item?id=47010624
- Y-bar 8mo agoHey! This looks great, and I appreciate the effort! But just opening the page at https://tui.hatchet.run/ https://tui.hatchet.run/ causes my (admittedly old Intel i7 9700K) to spin up its fans and consume >30% of the CPU without me even doing anything. I don't think a TUI should do that. I was also intrigued by it being a lot of Go dependencies as I have developed a bit of a fancy for this language recently.
- abelanger 8mo agoHi, thanks! To be clear, the demo there is merely a WASM-based Ghostty build which is rendering the TUI on a web page, just so people could try it out without needing to install anything. The actual TUI runs in your terminal. I'm guessing it's the WASM side of things causing the fans to spin, which you wouldn't see locally.
- fl0id 8mo agoIt’s not easy to build a good tui though. Like fe compare Claude code and opencode. Opencode is an atrocious approximation of a window system as a tui.
- 4nonverbal-alit 8mo agoTUI may look good on the surface, but I’d really appreciate to see a good descriptive logs instead of a fancy progress bar
- Tepix 8mo agoWhat‘s the TUI equivalent for mobile apps? Big UI elements and text, iOS 1-6 style, rendered without bitmap graphics? I.e. something that is lightweight, lightning fast, great to use with just a thumb or so and looks a bit boring and dated, yet also inviting?
- JSR_FDED 8mo agoTurbo C++ was peak TUI. Even on hardware thousands of times slower than today it had that instantaneous wired-to-the-machine feeling that I rarely experience today.
- hamdouni 8mo agoUsing librairies, building TUI was easy before AI too.
- intellirim 8mo ago[dead]
- jprokay13 8mo agoI think pi-mono (https://github.com/badlogic/pi-mono https://github.com/badlogic/pi-mono) is pretty close. The extensibility is wonderful and a much better fit for how I work compared to Claude Code.
- swordsith 8mo agoThe cursor CLI was a great springboard for me to make my own frontend to prompt from, I would never use it though god, I implemented git, difs, and chat histories, so i can use it easily from my phone with tailscale. It picks up on my rules and can grep my project, so easy. https://imgur.com/a/HZOEvr7 https://imgur.com/a/HZOEvr7
- cpard 8mo agoBuilding TUIs might be easy now but building good user experience on a TUI is feels harder than ever has been to me. The modern libraries make a lot of things easy but we are currently pushing terminals far beyond what they were designed for. Claude Code et.al. are good examples of that. Diffs, user approval flows, non-linear flows in general and a ton of text buffered are all elements that we know really well how to handle in web interfaces but are challenging for the terminal.