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.
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].
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
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.
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.
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.
> 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
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.
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?
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.
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.
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.
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!
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.
Vibe-coded trash, even says so in the Readme. Not sure why this gets voted to the frontpage.
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?
What is the point of having this if code generation is not functional yet? That is the entire point of this app.
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.
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.
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.
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.
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.
Watched the video. Why isn't the editor a TUI itself?
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?
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 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
A UI design tool for TUIs -- made with Electron?... fun times!
Look up Visual Basic for Dos for a surprisingly good TUI editor!
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?
Nope, check out something like wiretext, look at this example I put together very quickly
https://wiretext.app/w/WUtjS1bk
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".
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.
Somewhat related: Tachikoma.jl can do windows inside a terminal UI. https://discourse.julialang.org/t/ann-tachikoma-jl-a-termina...
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.
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
Turbo Vision and Clipper want their glory MS-DOS days back.
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
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.
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.
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".
For {root} sake I'm a designer. Mostly all the code has been written by Claude and ad latere.
Guess who's back, back again?
VB's back, tell a friend.
The one thing these always miss is image protocols. Do you plan to support terminal image protocols like sixel, kitty image protocol, etc.?
tip: your git repo's description (not readme, repo description) does not link the website. It should.
Gotta say I did sort of expect this to be a TUI app itself.
This looks really cool. Is the use case of getting an LLM to respond with custom TUIs something you have thoughts about?
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.
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.
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...
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.
this is a cool idea lol but is a pretty nonsensical explanation of what you can even do with it
The background ASCII animation is so cool! Is it an actual simulation?
Turbo Vision strikes back
Missing ncurses support.
So this is a TUI WYSIWYG GUI ?
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
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.
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 ?
I really hate these pointlessly dynamic website backgrounds that make mobile devices hot to touch. Unfortunately vibe-coded websites love these.
No ratatui?!
This is like QTdesigner but for the terminal. Huh.
Noice figma for terminals! Dude super cool idea, great job =D
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.
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.
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
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.