Built in
5 Days.
From zero lines of code to a published Rust crate. The granular story of how FrankenTUI was stitched together in a single intense engineering cycle.
Key Stats
The numbers behind the sprint. Every hour counted.
- of development
- 100hours
- in the workspace
- 12crates
- implemented
- 20+algorithms
- published to crates.io
- v0.1.1
≈100.1h from sprint kickoff (2026-01-31) to publish (2026-02-05)
Split into focused crates for strict layering and clean boundaries
BOCPD, conformal, VOI, CUSUM, fairness guards, and more
Published 2026-02-05 (after the 100-hour sprint)
Full Timeline
Selected milestones timestamped from the real commit history (2026-01-31 → 2026-02-05).
Architecture Plan Locked
Initial commit: FrankenTUI plan documents.
Upgraded plan to a hybrid architecture (V5.0 → V6.1).
Expanded the bead graph to cover core components, dependencies, and acceptance tests.
Reference Library Sync
Added a reference library sync script + build infrastructure.
Fixed idempotency and Makefile bugs in the sync tooling.
Seeded beads for syntax highlighting, forms/pickers, and other showcase surfaces.
Workspace Born
Initialized the Rust workspace with the `ftui` crate structure.
Added 15 comprehensive feature beads with 46 subtasks.
Added a comprehensive test bead graph for 15 new feature areas.
Terminal Session + Core Data Types
Added terminal session lifecycle, color downgrade, style system, and a TerminalModel.
Implemented the Buffer API and supporting infrastructure.
Implemented GraphemePool with reference counting; reinforced the one-writer rule.
Render Kernel Online
Implemented BufferDiff and Presenter (state-tracked ANSI emission).
Hardened inline mode safety and added comprehensive inline mode tests.
Added geometry primitives and the Flex layout solver; fixed build issues across the workspace.
Showcase Expansion + Correctness Blitz
Major expansion: demo showcase, PTY improvements, and documentation.
Broad correctness sweep: saturating arithmetic across widgets/drawing + overflow fixes.
Added ftui-render coverage for wide glyph handling and diff engine edge cases.
Benchmarks + Validation
Added DoubleBuffer swap benchmarks and repaired E2E scripts.
Introduced an async deadline controller (survival analysis) for budget enforcement.
Expanded action-timeline and visual-fx tests; synced multi-agent workspace changes.
Evidence Telemetry + Policy Controls
Added evidence structs and optimized diff buffer reuse in the runtime.
Added env-var controls for Bayesian diff, BOCPD, and conformal in the harness.
Optimized ANSI emission and extracted diff helpers; updated BOCPD evidence field docs.
Crates.io Publish Prep
Crates.io publish prep + crate docs (bd-3lul4).
Stabilized tests (flaky fixes, isolation, snapshot baselines).
Kept the project graph and issue tracker synced as publish tasks closed out.
Publish: v0.1.1
Published v0.1.1 crates (bd-17unx publish 0.1.1 crates).
Updated the changelog for the 0.1.1 publish.
Captured and shipped the initial public announcement artifacts.
The Making Of
Highlights reconstructed from real sprint artifacts: git history plus archived Claude Code + Codex CLI session logs (2026-01-31 → 2026-02-05).
- Claude Code Sessions
- 286
- Codex CLI Sessions
- 516
- Git Commits
- 1001
Counted from archived session logs for /data/projects/frankentui (2026-01-31 → 2026-02-05)
Session files with cwd=/data/projects/frankentui across the 5-day window (2026-01-31 → 2026-02-05)
Commits in the FrankenTUI repo between 2026-01-31 and 2026-02-05 (inclusive)
Workspace Born
The sprint started by locking an architecture plan and scaffolding a multi-crate Rust workspace early, so every new capability had a clean home (core, render, runtime, widgets, harness).
Render Kernel Online
The deterministic render pipeline landed fast: BufferDiff + a state-tracked Presenter that emits ANSI deltas without hidden I/O or terminal desync.
Benchmarks + Validation
The focus shifted from raw feature throughput to budgets and verification: benchmarks, E2E scripts, and test expansions to keep high-velocity changes safe.
Beads Pages Export Debug
A report claimed `bv -pages` had deployed only a few "test" beads. Checking the exported bundle and deployed SQLite confirmed 266 issues were present; the apparent mismatch came from local, uncommitted beads not included in the export snapshot.
Evidence Telemetry + Policy Controls
Probabilistic pieces were made auditable: evidence structs, docs, and environment-driven policy controls for Bayesian diff, BOCPD resize coalescing, and conformal alerts.
Crates.io Publish Prep
Docs, metadata, and tests were hardened for a real release artifact. Publish tasks closed out in dependency order while the project graph stayed synced.
Publish: v0.1.1
The initial crate set shipped to crates.io and the changelog was updated immediately after publish, closing out the sprint with a concrete release.
Sprint Git Log
Selected, timestamped commit messages from the sprint (local tz).
What People Said
Posts and commentary from the build — technical deep-dives, architectural rationale, and demo reveals.
Jeffrey Emanuel
@jeffemanuel
“I just built a complete TUI framework in Rust from scratch in 5 days. 12 crates, 20+ algorithms including Bayesian diff strategy selection, BOCPD resize coalescing, and conformal prediction alerts. Not heuristics — real math.”
Jeffrey Emanuel
@jeffemanuel
“The 'alien artifact' quality bar: every statistical decision in FrankenTUI records an evidence ledger. You can literally read WHY the renderer chose dirty-row diff over full diff. No black boxes.”
Jeffrey Emanuel
@jeffemanuel
“FrankenTUI's inline mode preserves your scrollback while keeping UI chrome stable. This is the thing that Ratatui and every other Rust TUI framework gets wrong — they destroy your terminal history.”
Jeffrey Emanuel
@jeffemanuel
“Zero unsafe code in the entire render pipeline, runtime, and layout engine. #![forbid(unsafe_code)] at the crate level. Correctness over cleverness.”
Jeffrey Emanuel
@jeffemanuel
“The Cell type in FrankenTUI is exactly 16 bytes — 4 cells per 64-byte cache line. Single 128-bit SIMD comparison for equality. This is what I mean by alien-artifact engineering.”
Jeffrey Emanuel
@jeffemanuel
“Resize coalescing uses Bayesian Online Change-Point Detection. It detects when you're dragging vs pausing and adapts the coalescing delay. No magic thresholds — the model learns.”
Jeffrey Emanuel
@jeffemanuel
“FrankenTUI demo running in Ghostty with real-time resize. Watch the BOCPD coalescer adapt between steady and burst regimes.”
Jeffrey Emanuel
@jeffemanuel
“Visual effects in FrankenTUI: metaballs, plasma, Gray-Scott reaction-diffusion, Clifford attractors, Mandelbrot — all deterministic math, not random shader noise.”
Jeffrey Emanuel
@jeffemanuel
“E-processes for anytime-valid monitoring: you can check after every frame without inflating false positive rates. P(∃t: W_t ≥ 1/α) ≤ α under null. No peeking penalty.”
Jeffrey Emanuel
@jeffemanuel
“Rio terminal CRT effect demo of FrankenTUI's demo showcase. Every effect is a concrete dynamical system or PDE with explicit time-stepping.”
Jeffrey Emanuel
@jeffemanuel
“The Elm Architecture in Rust: Model + update + view. Commands for side effects, subscriptions for event streams. Type-safe, composable, testable.”
Jeffrey Emanuel
@jeffemanuel
“Formal proof sketches in the codebase: sync bracket completeness, diff completeness, dirty tracking soundness. This isn't 'move fast and break things' — it's 'move fast and prove things.'”
See what 100 hours produced
Explore the screenshots and video demos, dive into the architecture, or add FrankenTUI to your own Rust project.