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 Crates: 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•1h ago
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•35m ago
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