psst
Fast and multi-platform Spotify client with native GUI
Psst is a lightweight, native Spotify client for Windows, Mac, and Linux built in Rust, avoiding the sluggishness of browser-based Electron apps while supporting playback, search, podcasts, and media keys.
Psst is a Spotify client application built in Rust, with a native graphical interface that runs on Windows, Linux, and macOS. The key motivation behind the project is to avoid using Electron, a framework many desktop apps rely on that bundles a full web browser to render the interface. Building natively in Rust means the app is lighter and faster than Electron-based alternatives. A Spotify Premium account is required to use it.
The app supports a range of Spotify features: playing tracks, browsing saved albums and playlists, searching for artists and albums, podcast playback, media key controls, volume control, loudness normalization, and a dark theme. The roadmap in the README makes clear that the project is still in early development. Several features are listed as not yet complete, including playlist management, reacting to headphone connect or disconnect events, improved caching, and a redesigned two-pane layout.
Pre-built downloads are available for all three platforms from the GitHub Releases page, including a Debian package for Linux and a standard installer for macOS and Windows. Building from source requires a recent version of the Rust toolchain and, on Linux, a few system libraries related to GTK and audio output.
The code is split into three parts: a core library that handles the Spotify network session, audio decoding, and playback queue; a GUI application built with a Rust-native UI library called Druid; and a small example command-line tool. The project draws heavily from an existing open-source Spotify library called librespot but takes a different approach to audio file retrieval and does not use asynchronous runtime libraries. Psst does not send any data to its own servers and does not store user credentials locally.
Where it fits
- Use a fast, memory-efficient Spotify client on your desktop without the overhead of an Electron-based app.
- Study how to build a cross-platform native GUI application in Rust using the Druid UI library.
- Extend the Spotify client with missing features by contributing to the Rust source code.