The backstory
I'm a law student. So naturally, instead of studying for exams, I installed Arch Linux and decided I needed a better Spotify player.
The official Electron app felt heavy, and I liked the idea of controlling my music from the terminal.
That's when I found spotify-tui. A beautiful terminal UI for Spotify, written in Rust, with vim-like keybindings. Exactly what I was looking for.
Except it didn't work anymore.
So I started fixing things. Got it compiling, patched some issues, and eventually had it running. What started as procrastination turned into a full side project.
After some time I realized: why not make this public? Other people probably want this too.
I thought about contributing upstream, but the original maintainer hasn't been active in years. I wasn't sure if PRs would ever get reviewed, so I decided to rebrand and maintain it myself. That's how spotatui was born..
What is spotatui
spotatui is my actively-maintained fork of spotify-tui. Same great terminal UI, but with some features I always wished the original had:
Native Streaming
This was the big one. The original spotify-tui was just a remote control. You needed spotifyd or the official Spotify app running separately to actually play music.
spotatui can now stream audio directly. Just run it and it shows up as a Spotify Connect device. No extra daemons needed.
cargo install spotatui
spotatui
# First run walks you through Spotify API setup (takes a couple minutes)
Synced Lyrics
I wanted to see lyrics while songs play. Now you can. Press a key and they scroll in sync with the music.
Real-time Audio Visualization
This one's just for fun. Press v and you get a real-time audio visualizer that reacts to your music (or any system audio, really). It uses FFT analysis on your audio output, so it works with any playback source.
It's surprisingly lightweight
One thing that always bugged me about the official Spotify client: it's an Electron app that uses 300-500MB of RAM just to play music.
spotatui uses about 48 MB. Even with the visualizer running, it's around 56 MB.
| Mode | RAM |
|---|---|
| Native streaming | ~48 MB |
| With lyrics | ~48 MB |
| With visualizer | ~56 MB |
Your laptop fans will thank you.
The community side
I've been maintaining this solo, which is both fun and sometimes overwhelming. The original spotify-tui had 94 contributors over its lifetime. I'd love to build up a similar community around spotatui.
Since launching the fork, we've already had a handful of contributors help out with code, docs, and packaging. And the global song counter (a fun little feature that anonymously counts how many songs all spotatui users have played) just crossed 11,700 songs.
If you're interested in Rust, terminal UIs, or audio stuff, I'd genuinely appreciate help. Even bug reports and feature ideas are valuable.
Getting started
Install:
# via cargo (recommended)
cargo install spotatui
# or Arch Linux
yay -S spotatui
# or download binaries from GitHub Releases
Run:
spotatui
First time you run it, it'll walk you through connecting your Spotify account (you'll need a free Spotify Developer app, takes 2 minutes to set up).
Quick tips:
- Press
?for help/keybindings - Press
dto switch playback devices - Press
vfor the audio visualizer - Tab cycles through panels
Links
- GitHub: LargeModGames/spotatui
- Crates.io: spotatui
- Wiki: Installation & Config Docs
If you try it out, let me know how it goes! Always happy to hear feedback or help troubleshoot.
And if you're migrating from the original spotify-tui, it's pretty seamless. Just copy your config from ~/.config/spotify-tui/ to ~/.config/spotatui/ and you're good to go.
Happy listening!

Top comments (0)