Building a TUI is easy now
Mobile & Web Constraints
- Several comments say TUIs are fundamentally mismatched with mobile browsers, particularly due to virtual keyboard behavior; “just make it work” is seen as unrealistic.
- Suggested pattern: offer a separate React/web UI for mobile rather than trying to shoehorn a TUI into mobile browsers.
- Termux is cited as an exception where TUIs work well on Android, and TUIs over SSH from phones are common.
Do We Actually Want TUIs?
- Split opinions:
- Fans: TUIs hit a sweet spot between bare CLI and full GUI, enable mouseless workflows, reduce command memorization, and are great for power users.
- Skeptics: often prefer pure CLI streams (pipeable, scriptable) or GUIs; find some TUIs (e.g., certain CLIs with full-screen UIs) intrusive and less composable.
- Some call “GUI-like TUIs” sad or inaccessible because they flatten structure into a character stream and lock in one mode of interaction.
Advantages & Use Cases
- Work well over SSH, in containers, and on locked-down systems where web management is forbidden by security standards.
- Useful as inline tools in pipelines (e.g., file pickers, dashboards, tops) and as lightweight side-by-side companions to CLIs in tmux/zellij.
- Lower footprint and fewer dependencies than Electron/web stacks; constraints often produce cleaner, keyboard-centric UIs.
Libraries & Ecosystem
- Go/Charm/Bubbletea, Rust/Ratatui, Python/Textual(Textualize) highlighted as mature, pleasant frameworks.
- Longstanding tools (Midnight Commander, Debian’s dialog frontends, Turbo Vision) cited as proof TUIs were “already easy” decades ago.
- Lists of TUI projects and “awesome-tuis” links show a rich ecosystem.
AI’s Role in Making TUIs “Easy”
- Multiple anecdotes of Claude/Gemini rapidly generating nontrivial TUIs (HN clients, VM managers, DHT tools, charting dashboards, etc.), often “one-shot” or with minor iteration.
- Debate over energy/efficiency: some argue LLM-assisted, low-stack TUIs save CPU and RAM vs heavy web apps; others question whether LLM compute costs offset such gains.
Performance & Implementation Critiques
- Strong criticism of certain LLM TUIs (especially Claude Code / Ink+React): sluggish, 60fps hard, over-engineered “reconciliation engines” seen as mismatched to terminals.
- Others defend having a diffing/rendering layer but agree current implementations are slow.
- The blog’s own web page and online TUI demo are called out for heavy CSS/JS causing high CPU and poor scroll performance—seen as ironic for a post about performant TUIs.
Accessibility, Composability & Philosophy
- Mouse support in terminals exists but is inconsistent; typical users expect click-to-edit and are surprised when it fails.
- Some want TUIs only as optional views over a clean CLI/library API, not as the sole interface.
- Broader lament: we lack a small, structured, composable, low-footprint UI layer between today’s TUIs and heavyweight GUIs; TUIs are praised as pragmatic but also seen as a compromise born of historical accidents.