3 ms·
Show HN: Flywheel – The Zero-Flicker Terminal Compositor for Agentic CLIs
Hey guys,
Like many of you, I watched ThePrimeagen’s recent video breakdown of Claude Code’s architecture (and Theo’s subsequent defense of React/Ink). The core of the debate—whether we should be shipping a Virtual DOM and a reconciliation engine just to render text to a terminal—stuck with me.
Rather than just tweet about it, I decided to build an alternative in Rust to see what a modern, high-performance approach looks like without the web-tech overhead.
Meet Flywheel.
It’s a TUI compositor designed to be fast, lightweight, and capable of high frame rates without eating your CPU.
Repo: https://github.com/ccheshirecat/flywheel https://github.com/ccheshirecat/flywheel
Crates: https://crates.io/crates/flywheel-compositor https://crates.io/crates/flywheel-compositor
Quickstart: cargo run --example streaming_demo --release
I’d love feedback on the architecture or thoughts from anyone else building TUIs in 2026.
- NitpickLawyer 8mo agoMy new favorite claudism: > 100% Safe Rust No unsafe blocks. And then when you search the code... ``` // SAFETY: We only store valid UTF-8 in the grapheme bytes Some(unsafe { std::str::from_utf8_unchecked(&self.grapheme[..self.grapheme_len as usize]) }) ```
- ccheshirecat 8mo agoYou're absolutely right! I've - Replaced unsafe from_utf8_unchecked with safe from_utf8 - Added #![deny(unsafe_code)] at crate level - FFI module still allows unsafe (required for C ABI) - README now honestly says 'Safe Rust Core' instead of '100% Safe Rust' Thanks to NitpickLawyer on HN for the callout