Terminal applications have evolved far beyond simple command-line utilities. Projects like Lazygit and Yazi have shown that a well-designed TUI can deliver an experience that's both fast and intuitive.
Inspired by that workflow, I built MovieBox-TUI—a cross-platform, keyboard-first media browser written in Rust.
Repository: https://github.com/mesamirh/MovieBox-Tui
Overview
MovieBox-TUI is an open-source terminal application for searching, browsing, and playing movies, TV shows, anime, and IPTV through locally installed media players.
Instead of switching between websites and desktop applications, everything is accessible from a responsive keyboard-driven interface inside the terminal.
Supported players include mpv, VLC, IINA, and other compatible media players.
Highlights
- Cross-platform (Linux, macOS, and Windows)
- Fully keyboard-driven interface
- Fast search and responsive navigation
- Multiple built-in themes
- Automatic media player detection
- Provider switching
- Open source
Built With
MovieBox-TUI is written entirely in Rust using a modern asynchronous architecture.
Core technologies include:
- Rust
- Ratatui
- Crossterm
- Tokio
- Reqwest
Rust provides the performance, reliability, and portability needed for a responsive terminal application while Ratatui makes it possible to build a polished interface that feels native to the terminal.
Development
Most of the work wasn't the interface itself—it was making the application behave consistently across Linux, macOS, and Windows.
Some of the challenges included:
- Cross-platform media player detection
- Platform-specific process launching
- Asynchronous provider requests
- Responsive layouts for different terminal sizes
- Maintaining a smooth user experience while resolving content
These platform-specific details ended up being the most time-consuming part of the project.
Source Code
MovieBox-TUI is fully open source and actively maintained.
Repository:
https://github.com/mesamirh/MovieBox-Tui
Feedback, bug reports, feature requests, and contributions are always welcome.
If you're building terminal applications with Rust or Ratatui, I'd be interested in hearing about your approach or any ideas for improving the project.

Top comments (0)