Hacker News new | past | comments | ask | show | jobs | submit

TUI Studio – visual terminal UI design tool

https://tui.studio/
If you're going to put a video demo on your main webpage, can it have play/pause and a control bar? So I can actually skip to a part I want to look at. Here's the actual video: https://tui.studio/screenshots/video.mp4.

Also, how does this handle terminal resizing? Are there options to anchor elements to the left/right etc, or will narrowing the terminal window just make everything fall off the side, or worse, all the text wraps?

loading story #47365392
This is nonsensical, there is nothing textual about the UIs being shown here. It doesn't stop being a GUI if you have a 1:1 representation of the concept within character cells.

The UX actually matters, and TUIs are generally built for effectiveness and power (lazygit being an excellent example). But once you start adding mouse clickable tabs, buttons, checkboxes etc. you left the UX for TUIs behind and applied the UX expected for GUIs, it has become a GUI larping as a TUI.

loading story #47368077
loading story #47365817
loading story #47364506
loading story #47364641
loading story #47364483
loading story #47367340
loading story #47365177
loading story #47367780
loading story #47364819
loading story #47365400
loading story #47366745
loading story #47363809
loading story #47366245
loading story #47364914
loading story #47366518
loading story #47365821
loading story #47364866
This is exactly the kind of passive aggressive attitude that is tolerated on HN that makes this place unbearable.

"This is dumb" - gets downvoted to oblivion. "This is nonsensical + a bunch of absolutely bs reasoning" - second most upvoted comment atm.

HN tolerates the appearance of quality discourse over the actual thing, and dealing with this dissonance in most comment sections is exhausting.

loading story #47365654
As a german, I say:

UIUIUI

loading story #47364463
loading story #47364319
loading story #47367879
I really don't want my TUI's to look like GUI's rendered in low res. The appeal to me of a TUI is that it is built specifically to be a TUI, and that means eschewing complexity and detail, and favouring compact text.
loading story #47367069
> GUI's rendered in low res

That's literally what TUI's looked like starting from the late 1980s and throughout the 1990s... You have a pointing device, might as well make use of it to enhance discoverability.

Didn't they evolve from that because better graphics was better? Otherwise why not stay text if there is a huge advantage in all Text made graphics?
loading story #47364349
loading story #47365777
Interesting idea, but:

> Design once, generate production-ready code for your framework of choice. Switch targets without touching your design. Alpha notice: Code export is not functional yet. We're actively working on it — check back soon.

In other words, it isn't at all usable right now. You can't produce a TUI with it, not even a limited one.

loading story #47365025
Ignore the haters. This is an excellent idea, I'm getting some old Borland vibes. Keep it up, can't wait to see where it goes!
loading story #47366071
loading story #47367637
Vibe-coded trash, even says so in the Readme. Not sure why this gets voted to the frontpage.
loading story #47365805
loading story #47365148
What is the point of having this if code generation is not functional yet? That is the entire point of this app.
loading story #47364409
Funny how you can tell a project is vibe-coded just from a first glance at its website. All these websites seem to somehow have the same visual style. Anyone noticed this?
loading story #47365618
This is going to end up with TUIs that resemble old BBS ANSI art, such as https://16colo.rs/

It completely misses the reason people like current TUIs.

loading story #47364607
loading story #47363627
loading story #47365381
loading story #47367338
If you want inspiration on all kinds of TUIs on show and display Terminal Trove [1] is useful to get an idea for what other tools look like.

I find the search [2] also helpful.

[1] https://terminaltrove.com/

[2] https://terminaltrove.com/explore/

For exports, it is missing the ultimate: Borland Turbo Vision, the Rolls-Royce of TUI frameworks.
Why are these things being built on web technologies? There's loads of "modern" terminals that use typescript etc. to me terminal means lower level.

Also wheres the Linux version? You've Mac, windows, and docker. When someone says terminal to me I default to Linux.

Watched the video. Why isn't the editor a TUI itself?
loading story #47364126
loading story #47364061
Half surprised there's no raratui export with the other options. That said, probably lends itself more to Ink and @opentui/react. Also slightly disappointed at the lack of a direct Linux build for AppImage and/or Flathub. Also not using Github's releases which is a little curious.
This is a vibe coded app and isn't what I'd want but still, it's interesting to consider what a good implementation of "Figma for TUIs" could be, especially if it avoids the trap of simply treating the console as a crude raster instead of taking advantage of text and keyboards. IMO we don't need WIMP GUI shoved into terminal emulators.
The TUI hype seems like nostalgia for COBOL mainframe apps that most people have never even used. A sort of secondhand cyberpunk role play with zero focus on actual UX.

Also if TUIs are so great, why isn't this a TUI app?

loading story #47366682
loading story #47366901
loading story #47366106
The lack of accessibility of TUIs is not great in general.

I'd much rather terminals emulator provide a webview directly, and maybe use https://webtui.ironclad.sh/ if you really want the look.

I think it makes more sense for a cli to offer a mini webserver instead.

Think `fish_config`, but opened in the terminal directly [0].

[0]: like https://iterm2.com/browser-plugin.html

loading story #47364966
A UI design tool for TUIs -- made with Electron?... fun times!
loading story #47366492
loading story #47364617
loading story #47364686
Look up Visual Basic for Dos for a surprisingly good TUI editor!
loading story #47366860
So we’re going full circle here right? Can’t wait for the first TUI MVC/MVVM/MVP/M-whatever framework to show up.
The TUI-vs-GUI debate in the comments is probably not the most useful frame. The practical question for something like this is whether the exported code models terminal layout constraints correctly. Textual and Ratatui both use constraint-based layout, not absolute positioning, and a designer that works in pixel coordinates will produce UIs that look right at one terminal size and fall apart at others. Has anyone tested an export against real usage?
loading story #47367607
TUIs built today should be usable by AI agents. I'm not sure exactly what it looks like but I'm imagining that every UI view has an associated CLI command that can yield precisely that view. Maybe like formally structured breadcrumbs, or maybe like Emacs "keyboard macros".
loading story #47366196
I built something like this in 1993, it was used to design layouts for DOS apps and headers for printed listings. Imitating the BorlandPascal and Novel TUIs of the day
Nope, check out something like wiretext, look at this example I put together very quickly

https://wiretext.app/w/WUtjS1bk

The hardest part of TUI development has always been the layout model, not the widgets. Most people start with absolute positioning and then discover their terminal is 80x24 on the CI server. A visual designer is useful if it outputs layout constraints rather than fixed coordinates. Otherwise you end up with UIs that only work at one terminal size.
This is so cool I immediately wanted to convert my apps. But then when I thought about it, well it's trying to recreate CSS but in a majorly worse way.

Browsers are ubiquitous and I can just tell ai to build a web page. I can't really see a use case other than novelty.

loading story #47367001
loading story #47363615
Somewhat related: Tachikoma.jl can do windows inside a terminal UI. https://discourse.julialang.org/t/ann-tachikoma-jl-a-termina...
Have been spending so much time in the terminal lately for the first time in my life (non-developer here) that made this for fun to spruce it up: https://github.com/dvelton/terminal-profile-studio
Turbo Vision and Clipper want their glory MS-DOS days back.
loading story #47364893
loading story #47364799
I'm not sure the utility of this kind of stuff anymore. It's relatively easy to sketch a layout on a napkin + prompt and then prompt claude code to use python textual as as TUI layer. I've had pretty good success with Textual+Claude so have a few colleagues. You could probably use Figma + claude etc as well.
Missing Ratatui[1] support.

[1] https://ratatui.rs/

> No install fuss — download and start designing immediately.

also

> Gatekeeper blocks the app immediately. You'll see either "TUIStudio cannot be opened because it is from an unidentified developer" or "TUIStudio is damaged and can't be opened" on newer macOS after quarantine flags the binary. To get past it: right-click the .app → Open → Open anyway — or go to System Settings → Privacy & Security → "Open Anyway".

loading story #47363726
For {root} sake I'm a designer. Mostly all the code has been written by Claude and ad latere.
loading story #47365731
The one thing these always miss is image protocols. Do you plan to support terminal image protocols like sixel, kitty image protocol, etc.?
This looks really cool. Is the use case of getting an LLM to respond with custom TUIs something you have thoughts about?
tip: your git repo's description (not readme, repo description) does not link the website. It should.
Also fill the Website field in About section.
The biggest pain point with TUIs has always been the design iteration loop. You're basically writing code blind, running it, tweaking numbers, running again. It's like writing CSS without a browser preview.

Something like this could genuinely help for the layout/positioning phase, even if you still hand-write the interaction logic. The debate about whether these are "real TUIs" kind of misses the point imo. Textual and Ratatui already blur that line with mouse support and rich widgets. The ship sailed on pure keyboard-only text interfaces a while ago.

What I'd actually want from a tool like this is to export to multiple TUI frameworks. Right now you're locked into one ecosystem and the code export isn't even working yet, which makes the whole thing feel premature.

That's cool. I literally vibed something similar a month ago for myself!
I wonder if one of the LLMs could generate code from a screenshot of a layout designed by this.
loading story #47365528
There's something incredibly ironic about a visual tool for designing TUIs...
We got a RAD IDE for terminals before GTA6 and before anyone sensibly makes a replacement for Electron. Wild.

This is really cool though.

loading story #47364570
I would be REALLY REALLY impressed if it manages to do this without bugs. Just using pythons textual can be very complex, belive it or not. Maaging not only to that but other frameworks too sounds insanely complex. I have a strong feeling this is vibecoded from the commit history?`

Ah yes, it says clearly that on the github page. Still, if its works, I am then impressed by the LLM.

Edit: It does, in fact, NOT work for code export. Level of impressiveness massively dropped.

The irony that a TUI studio is not written as a TUI...
Missing ncurses support.
this is a cool idea lol but is a pretty nonsensical explanation of what you can even do with it
Am I the only one who thinks the recent TUI explosion is absolutely not necessary?

I mean yes, code editor are great for this but a lot of the TUIs I see are so slow it begs the question why they exist to begin. CLIs are supposed to be remixable and scriptable.

I think a better architecture would be to generally keep CLIs work like CLIs and have separate processes that add terminal rendering functionalities for those that need / want it but in general it is an anti-pattern to start from this as default.

loading story #47365842
loading story #47364672
loading story #47364656
loading story #47364346
Gotta say I did sort of expect this to be a TUI app itself.
So this is a TUI WYSIWYG GUI ?
The background ASCII animation is so cool! Is it an actual simulation?
loading story #47365047
I wish HN had flairs (tags) like Reddit and mandated a few for AI-related work (AI-Assisted, AI-meta, AI-vibecoding) or something so these could be filtered out
{"deleted":true,"id":47366127,"parent":47362613,"time":1773417201,"type":"comment"}
Turbo Vision strikes back
loading story #47364235
Seems nice.

I launched https://github.com/alganet/tuish yesterday (pure shell backend).

Exporting to pure shell could be a killer feature, especially for smaller and ad-hoc apps (no dependencies, no compilation, etc).

The website UI is unreal, I loved the idea
When your TUI is so complex that you need a GUI to design it, perhaps you shouldn't use TUI in the first place.
loading story #47364107
I really hate these pointlessly dynamic website backgrounds that make mobile devices hot to touch. Unfortunately vibe-coded websites love these.
Why did they make a website?
The corners of the boxes appear in the wrong place in the cell.

I don't think there is utf8 characters that allow for drawing on the outside of the cell, (happy to be wrong)

┌ (U+250C), ┐ (U+2510), └ (U+2514), ┘ (U+2518) <-- these 4 draw in the middle of the cell.

「 (U+FF62), ⌟, (U+231F), <-- these are two that cover part of the outside, but not the other corners.

「┐└」

Can anyone tells me how to get those 'corner of cell' characters, including uprights and horizontals ?

This is like QTdesigner but for the terminal. Huh.
I want something like that, but for Bootstrap,Tailwind or Quasar
Anyone notice the computer image at the top of the page doesn't have the right number of keys?
The fact that this isn't a TUI itself is a bit disappointing.

The fact that even the preview isn't a TUI is just lame. Keyboard controls are also non-functional right now.

Noice figma for terminals! Dude super cool idea, great job =D
I don’t want to be a curmudgeon, but why not just use CSS, HTML, React, etc. at this point? You could choose a style that looks like a TUI.
loading story #47366381
I find it slightly annoying and disappointing that the blocks saying what frameworks it's designed to export to aren't links to those frameworks.
this looks insanely cool.

One of the most original ideas I have seen on HackerNews in the past few years.

This website eats a whole CPU core

Another W from the web developers mafia

No idea why this is hyped up these days.

The only reason I can think of is what I said before [0] given that the web was destroyed by the same web developers, then so was the desktop (with Electron) and now of all places terminals are now getting destroyed with infinite slop like this.

This nonsense will continue and accelerate until it reaches hardware.

[0] https://news.ycombinator.com/item?id=47210187

loading story #47367447
Amazing cool design tool for TUI's I got it running instantly and it feels stable and complete as well. Only 10 stars in GitHub.
Ha, well proof that AI let's you build anything you can imagine. Wait till I show you Remote Desktop, one day macOS and Linux will catch up.