
Asciinema: Terminal Recording Done Right (with Marcin Kulik)
From Developer Voices by Kris Jenkins
February 19, 2026 · 1h 27m
About this episode
The episode discusses the evolution of Asciinema, a terminal recording tool, with its creator Marcin Kulik, exploring its architecture and development over 14 years.
I have a theory that only bad projects get finished — good ones keep finding new things to do. Asciinema is a case in point. What started as a way to share terminal sessions with friends has, over 14 years, grown into a full suite of tools covering recording, hosting, playback, and live streaming — and been rebuilt multiple times along the way. So what does it actually take to record and replay a terminal session faithfully in a browser? Joining us for this conversation is Marcin Kulik, Asciinema's creator. The project's architecture has passed through almost every interesting corner of software engineering: a Python recorder built around pseudo-terminals (PTY), a ClojureScript terminal emulator for the browser that hit performance limits with immutable data structures and garbage collection pressure, a move to Rust compiled to WebAssembly, a Go experiment that didn't last, and a new Rust CLI for concurrent live streaming backed by an Elixir/Phoenix server that calls Rust code via NIFs. The same Rust terminal emulator library now powers all three components — the browser player, the server, and the CLI. If you've ever looked at those terminal animations embedded in a README and…
People in this episode
Host: Kris Jenkins
Guest: Marcin Kulik
Topics covered
- terminal recording
- software engineering
- open-source development
- programming languages
- project evolution
- live streaming
Keywords
- Asciinema
- terminal sessions
- recording
- playback
- live streaming
- software architecture
- open-source
Mentioned in this episode
Organizations: Asciinema
Products: Python, ClojureScript, Rust, Go, Elixir, Phoenix, WebAssembly
More episodes of Developer Voices
- What's Worth Knowing In AI Right Now? (with Henry Garner) · March 26, 2026 · 1h 40m
- Building the SpacetimeDB Database, Game-First (with Tyler Cloutier) · February 4, 2026 · 1h 41m
- Will Turso Be The Better SQLite? (with Glauber Costa) · December 11, 2025 · 1h 51m
- Can Google's ADK Replace LangChain and MCP? (with Christina Lin) · November 20, 2025 · 1h 5m
- Building Observable Systems with eBPF and Linux (with Mohammed Aboullaite) · October 31, 2025 · 1h 11m
- Solving Git's Pain Points with Jujutsu (with Martin von Zweigbergk) · October 9, 2025 · 1h 12m
Explore listener stats, chart rankings, contacts and more on the Developer Voices podcast page.