A look at the VT100 standard was enough for me to decide building "modern" GUIs on top of that is truly the definition of madness and bloat.
Why go through all that effort and leaky abstractions to display GUIs when you can just bitblt pixels from memory to a framebuffer directly?
Aesthetics, running TUI tools headless over SSH, zero possibility of Electron (although I’ve seen TUI tools written in node which is almost as bad), no worries about X/Wayland jankiness.
Frameworks like bubbletea make it very easy these days.
I think there’s a limit though, a good TUI shouldn’t be “modern”, it should be like the old TUIs that ran auto shops and accounting systems. TUIs that are information dense, keyboard-driven, and snappy are hard to beat.