Strace-ui, Bonsai_term, and the TUI renaissance
Jane Street explores a
The Lowdown
Jane Street's blog post introduces strace-ui, an interactive terminal user interface (TUI) built to make strace more developer-friendly, and Bonsai_term, a framework enabling this TUI renaissance. They posit that TUIs are experiencing a comeback, partly fueled by the efficiency of AI agents interacting with text-based interfaces. This piece showcases their internal tools and discusses the broader implications for development.
- strace-ui: Enhances the command-line
stracetool with an interactive TUI, offering features like interactive filtering, PID/FD tracking, formatted output, and DNS resolution, making system call tracing more intuitive. - Bonsai Framework: A reactive UI framework in OCaml, inspired by Elm, which uses functional state machines and incremental computation to manage UI state efficiently. It was originally used for web applications (
Bonsai_web). - Bonsai_term's Genesis:
Bonsai_termadapted the core Bonsai ideas for terminal UIs. Initially a running joke, it gained traction as a powerful tool, particularly within Jane Street, for building lightweight, keyboard-centric applications. - AI Catalysis: The advent of AI agents like "Claude Code" in 2025 significantly accelerated TUI adoption. AI models are highly effective at writing
Bonsai_termcode due to its text-based nature, fitting seamlessly into developers' existing terminal workflows. - Screenshot Testing: A key enabler is
Bonsai_term's screenshot-style expect testing framework. Because the UI renders as plain text, AI agents can easily parse and verify test outputs, creating a rapid and accurate feedback loop for development. - Proliferation of TUIs: The framework has led to an internal explosion of new TUI applications at Jane Street, from debugging and admin tools to monitoring and log explorers, demonstrating its versatility and developer appeal.
- Benefits: TUIs built with
Bonsai_termare lightweight, fast, portable, offer declarative/type-safe development, share code with backend logic, are AI-friendly, and utilize native OCaml libraries without JavaScript transpilation hurdles.
The article concludes that improving developer ergonomics through powerful frameworks and AI integration has revitalized TUIs, offering a productive, focused environment that complements, rather than replaces, web-based tools.
The Gossip
The Great UI Debate: Terminal vs. Graphical
A lively discussion on the resurgence of TUIs, with many users debating their pros and cons against traditional GUIs. Proponents lauded TUIs for their resource efficiency, keyboard-centric workflow, SSH compatibility, and composability within tools like tmux, contrasting them with bloated Electron apps. Critics, however, pointed out the inherent visual limitations, lack of rich graphics, and inconsistent keyboard shortcuts, arguing that TUIs are fundamentally inferior to modern GUIs for complex interactions. Some also suggested a middle ground or a return to well-designed GUI frameworks.
AI's Text-Based Triumphs
Commenters reinforced the article's point about the strong synergy between AI agents and TUIs. The consensus was that AI models find it easier to interact with and verify text-based UIs, especially when testing involves simple text diffs (screenshot-style tests). This "native modality" for AI closes the feedback loop efficiently, allowing agents to develop and refine TUI applications more effectively than complex graphical interfaces that would require vision models for inspection.
The Lure of Lean Interfaces
Many users attributed the TUI renaissance to a broader dissatisfaction with modern GUI development, particularly the resource-heavy nature of Electron apps and the perceived decline in quality of traditional GUI frameworks. Developers appreciate TUIs for their speed, predictability, portability, and the ability to remain within the terminal environment. Some also speculate that Jane Street's public engagement with such projects serves as an effective recruitment strategy, attracting top technical talent.