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.