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.
Pre-built installers available for all platforms, building from source requires Rust toolchain and GTK/audio libraries on Linux.
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.
← jpochyla on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.