TUI Studio – visual terminal UI design tool

443 points247 comments9 hours ago
voidUpdate

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 comments
eterps

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 comments
vidarh

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 comments
jbstack

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 comments
stldev

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 comments
zahlman

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.

sunaookami

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

show comments
spiffyk

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 comments
sabas123

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

show comments
evrenesat

In this age, rich TUI's feels wrong to me. Tools that expose a minimal web server with a lightweight UI is much more welcome than a complex TUI. But for most interactive terminal apps, it feels more natural when there is a single input at a time, like a wizard interface.

pillsburycat

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 comments
fidotron

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 comments
pelcg

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/

auvi

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

ifh-hn

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.

ctmnt

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.

pcmoore

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

show comments
__alexs

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 comments
tracker1

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.

TrevorFSmith

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.

jiehong

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 comments
seertaak

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

show comments
gattilorenz

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

show comments
SvenL

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

miki_ships

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?

NSPG911

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

https://wiretext.app/w/WUtjS1bk

Myrmornis

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 comments
tim-projects

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 comments
Archit3ch

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

mihir_kanzariya

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.

show comments
visarga

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

pjmlp

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

show comments
deevelton

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

injidup

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.

Felixbot

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.

xvilka

Missing Ratatui[1] support.

[1] https://ratatui.rs/

glhaynes

> 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 comments
delduca

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

show comments
jbverschoor

Guess who's back, back again?

VB's back, tell a friend.

ganelonhb

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

kantord

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

show comments
chuckadams

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

aavci

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

nout

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

sorenjan

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

show comments
dangoodmanUT

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

giancarlostoro

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 comments
sandos

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 comments
__mharrison__

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

_pdp_

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.

show comments
Venkymatam

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

lagrange77

The background ASCII animation is so cool! Is it an actual simulation?

show comments
varjag

Turbo Vision strikes back

show comments
NoGravitas

Missing ncurses support.

aaronblohowiak

So this is a TUI WYSIWYG GUI ?

monkaiju

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

gaigalas

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

aethorn

The website UI is unreal, I loved the idea

raincole

When your TUI is so complex that you need a GUI to design it, perhaps you shouldn't use TUI in the first place.

show comments
jappgar

Why did they make a website?

worthless-trash

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 ?

oefrha

I really hate these pointlessly dynamic website backgrounds that make mobile devices hot to touch. Unfortunately vibe-coded websites love these.

ramon156

No ratatui?!

MPSimmons

This is like QTdesigner but for the terminal. Huh.

grilo16

Noice figma for terminals! Dude super cool idea, great job =D

igtztorrero

I want something like that, but for Bootstrap,Tailwind or Quasar

moron4hire

Anyone notice the computer image at the top of the page doesn't have the right number of keys?

elxr

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.

trollbridge

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.

show comments
lsaferite

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.

kantord

this looks insanely cool.

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

WhereIsTheTruth

This website eats a whole CPU core

Another W from the web developers mafia

show comments
rvz

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

mipselaer

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.

webprofusion

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.