logoalt Hacker News

TUI Studio – visual terminal UI design tool

415 pointsby mipselaertoday at 10:32 AM236 commentsview on HN

Comments

zahlmantoday at 6:29 PM

Apparently we now write desktop applications intended for designing the UI of other desktop applications, in TypeScript that runs in a Docker container, using a bunch of web frameworks (including for CSS) and self-hosting an nginx server?

I would have expected a TUI editor to be itself a TUI.

voidUpdatetoday at 2:43 PM

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?

show 1 reply
eterpstoday at 12:45 PM

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.

show 22 replies
vidarhtoday at 12:55 PM

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.

show 4 replies
jbstacktoday at 1:18 PM

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.

show 1 reply
pillsburycattoday at 6:08 PM

This looks really cool. However, the current AI models are pretty good at designing UIs from prompts and even turning screenshots of mocks into full UIs. I'm not sure this visual design approach would save time vs simply prompting an AI agent.

That being said, I could see a niche market for a designer persona who is used to building in tools like figma.

show 1 reply
stldevtoday at 3:00 PM

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!

show 1 reply
sunaookamitoday at 2:20 PM

Vibe-coded trash, even says so in the Readme. Not sure why this gets voted to the frontpage.

show 2 replies
sabas123today at 1:24 PM

What is the point of having this if code generation is not functional yet? That is the entire point of this app.

show 2 replies
spiffyktoday at 2:57 PM

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?

show 1 reply
ctmnttoday at 5:39 PM

On one hand this is a neat idea. I've thought about how nice it would be to have a visual layout tool for text-based designs. The current offerings are slim. Of course, you could easily argue that if you need a visual tool for it, you've gone too far; even the most sophisticated TUIs are still extremely simple.

On the other hand, for this work as they describe, it needs to be a complete UI framework across a bunch of languages and built on top of a bunch of existing frameworks. That seems... ambitious. Building one UI framework for one language is plenty hard enough.

fidotrontoday at 12:28 PM

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.

show 3 replies
pelcgtoday at 3:03 PM

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/

auvitoday at 3:42 PM

For exports, it is missing the ultimate: Borland Turbo Vision, the Rolls-Royce of TUI frameworks.

ifh-hntoday at 3:31 PM

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.

pcmooretoday at 12:50 PM

Watched the video. Why isn't the editor a TUI itself?

show 2 replies
tracker1today at 3:45 PM

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.

TrevorFSmithtoday at 3:07 PM

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.

__alexstoday at 1:37 PM

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?

show 3 replies
jiehongtoday at 1:50 PM

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

show 1 reply
jbverschoortoday at 6:05 PM

Guess who's back, back again?

VB's back, tell a friend.

seertaaktoday at 1:56 PM

A UI design tool for TUIs -- made with Electron?... fun times!

show 3 replies
gattilorenztoday at 12:29 PM

Look up Visual Basic for Dos for a surprisingly good TUI editor!

show 2 replies
miki_shipstoday at 3:32 PM

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?

SvenLtoday at 1:30 PM

So we’re going full circle here right? Can’t wait for the first TUI MVC/MVVM/MVP/M-whatever framework to show up.

Myrmornistoday at 3:55 PM

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".

show 1 reply
visargatoday at 4:43 PM

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

Felixbottoday at 4:53 PM

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.

NSPG911today at 1:45 PM

Nope, check out something like wiretext, look at this example I put together very quickly

https://wiretext.app/w/WUtjS1bk

Archit3chtoday at 3:04 PM

Somewhat related: Tachikoma.jl can do windows inside a terminal UI. https://discourse.julialang.org/t/ann-tachikoma-jl-a-termina...

tim-projectstoday at 12:20 PM

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.

show 2 replies
deeveltontoday at 2:56 PM

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

pjmlptoday at 1:47 PM

Turbo Vision and Clipper want their glory MS-DOS days back.

show 2 replies
injiduptoday at 2:29 PM

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.

xvilkatoday at 2:21 PM

Missing Ratatui[1] support.

[1] https://ratatui.rs/

glhaynestoday at 12:38 PM

> 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".

show 1 reply
delducatoday at 2:00 PM

For {root} sake I'm a designer. Mostly all the code has been written by Claude and ad latere.

show 1 reply
ganelonhbtoday at 3:26 PM

The one thing these always miss is image protocols. Do you plan to support terminal image protocols like sixel, kitty image protocol, etc.?

aavcitoday at 3:27 PM

This looks really cool. Is the use case of getting an LLM to respond with custom TUIs something you have thoughts about?

kantordtoday at 12:06 PM

tip: your git repo's description (not readme, repo description) does not link the website. It should.

show 1 reply
nouttoday at 3:52 PM

That's cool. I literally vibed something similar a month ago for myself!

mihir_kanzariyatoday at 2:36 PM

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.

dangoodmanUTtoday at 3:26 PM

There's something incredibly ironic about a visual tool for designing TUIs...

sorenjantoday at 3:06 PM

I wonder if one of the LLMs could generate code from a screenshot of a layout designed by this.

show 1 reply
giancarlostorotoday at 1:56 PM

We got a RAD IDE for terminals before GTA6 and before anyone sensibly makes a replacement for Electron. Wild.

This is really cool though.

show 1 reply
sandostoday at 2:49 PM

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.

show 1 reply
__mharrison__today at 3:14 PM

The irony that a TUI studio is not written as a TUI...

NoGravitastoday at 4:38 PM

Missing ncurses support.

Venkymatamtoday at 3:55 PM

this is a cool idea lol but is a pretty nonsensical explanation of what you can even do with it

chuckadamstoday at 2:36 PM

Gotta say I did sort of expect this to be a TUI app itself.

🔗 View 27 more comments