Nocterm
Flutter-inspired TUI framework with hot reload (Dart)
Details
- External ID
- 46886038
- Source
- HN
- Company
- —
- Product
- Nocterm
- Website domain
- nocterm.dev
- Launched
- Feb. 4, 2026
- Cohort
- —
- Upvotes
- 5
- Upvotes percentile
- 0.10512129380053908
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:26 p.m.
- Updated at
- Sept. 7, 2026, 9:26 p.m.
Description
Over the past couple of months I've been working on a TUI framework heavily inspired by Flutter, written in Dart.The API is modeled after Flutter. StatefulComponent, setState(), Row, Column, Expanded, ListView.There have been some discussions about performance of TUIs recently, and I think Dart is actually a great language for writing TUIs in. It compiles down to fast native code, is cross-platform, and has great developer ergonomics. JIT compilation for development (which enables hot reload) and AOT compilation for production binaries.What's really cool is stateful hot reload. If you save your file with some modification, Nocterm will pick it up and update the TUI in real time without restarting.Under the hood:- Differential rendering: virtual terminal buffer, only redraws changed cells - Declarative component model (same as Flutter): Component → Element → RenderObject pipeline - 45+ components: layout, scrolling, text input, markdown, animations, mouse support - Built-in test framework: pump a component, send keys, assert on terminal state - Theming: 6 built-in themes, auto-detects terminal dark/light modeExample:void main() async { await runApp(Counter()); }class Counter extends StatefulComponent { int _count = 0; Component build(BuildContext context) { return Focusable( onKeyEvent: (event) { if (event.logicalKey == LogicalKey.space) { setState(() => _count++); return true; } return false; }, child: Center(child: Text('Count: $_count')), ); } }I tried a couple of existing TUI frameworks but missed the Flutter DX I've learned to love, so I built my own (for better or worse...).I've been using Nocterm to build vide_cli (https://github.com/Norbert515/vide_cli), a coding agent in the terminal.There's some cool stuff coming up too, like virtual text selection in alternate screen mode. Since TUI apps take over the terminal, normal text selection breaks. This reimplements it at the framework level so users can select and copy text naturally.Repository: https://github.com/Norbert515/noctermHappy to answer questions about the architecture, hot reload implementation, or anything else.
Enrichment
- Theme
- Vertical
- Horizontal
- Function
- Dev tools
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- tui framework with hot reload
- Manually corrected
- False
Could you build this?
No Writing a complete declarative TUI framework with Flutter-like widget trees, state management, diff-based terminal rendering, and hot reload from scratch in Dart requires deep compiler and UI rendering engine expertise.
What it would actually take: This requires implementing an ANSI escape code parser and a double-buffered virtual terminal canvas with minimal-diff screen updating algorithms. It also necessitates building a full component-tree reactive reconciliation engine (similar to Flutter or React Fiber) and hooking into Dart VM hot-reload protocols via Dart VM service tooling. This level of library design demands advanced low-level terminal protocol and UI framework architecture experience.
Discussion
7 comments analyzed.
Competitors mentioned: Flutter (for GUI applications), Nim (for small binary size), xterm.js (terminal framework)
Concerns raised: Dart binary sizes too large for WASM (~7.4MB vs 200KB target), Dart doesn't support standalone WASM outside browser context, TUI to GUI conversion has caveats and differences
Competitors
Other products that read as similar to this one — 32 launches clear the similarity bar, closest 8 shown.
Attention rank: #31 of 33 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Launched 67 days after the earliest competitor.
- Go-TUI · hn · 2026-03-06 · 7 upvotes · similarity 0.56
- The first agentic coding engine that hot-reloads the full stack · hn · 2026-06-09 · 5 upvotes · similarity 0.46
- Giggles · hn · 2026-03-03 · 23 upvotes · similarity 0.44
- PNANA · hn · 2026-01-28 · 11 upvotes · similarity 0.41
- Limoni TUI Engine · ph · 2026-09-14 · 2 upvotes · similarity 0.40
- Gottp · hn · 2026-02-11 · 5 upvotes · similarity 0.38
- Sqlit · hn · 2025-12-15 · 190 upvotes · similarity 0.36
- Fresh · hn · 2025-12-03 · 187 upvotes · similarity 0.36
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a dev tools tool for Sales yet.