Firefly Labs
← المدونة

Zero-leak terminal UI

Terminal UIs have a common failure mode: they print, reprint, scroll, and eventually destroy the very context you were working in. You play a song, and your build log is gone under forty lines of now-playing metadata.

firemusic was built to not do that.

The constraint

The player maintains a strict 3-line fixed UI block. Cursor positioning is absolute. Updates are atomic. Your scrollback stays 100% clean — what was on screen before playback is still there when you quit.

That sounds like a small detail. If you live in a terminal all day, it is the difference between a tool you tolerate and a tool you keep open.

High density, no clutter

The UI is tactical — progress, title, controls — not a full-screen album art experience. The goal is information density without noise:

  • Search across YouTube, SoundCloud, TikTok from the CLI
  • Real-time pitch and EQ without spawning new windows
  • A download wizard that does not flood your buffer with per-file logs

Pro users want data. They do not want their terminal redecorated.

A design principle

If a Firefly TUI emits more lines than it needs, that is a bug.

Scrollback is workspace. Treat it like someone's open files — do not trash it to show off rendering.