mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Self-Hostedevaluationupdated 30 Aug 2026

fastpotify review

Fastpotify is a native Spotify desktop client for Linux, macOS, and Windows, built in Rust without a browser engine. It plays Spotify through librespot, controls Spotify Connect devices, and gives people a conventional library, search, queue, and playlist interface.

+220 / 1dstars / 7d
Verdict

Our Fastpotify build took 756 seconds, then all 296 tests passed in 47 seconds, making it a credible trial for a Spotify Premium user who wants a native client. Its library, Connect controls, and desktop integrations cover far more than a playback demo. Wait if local files, Spotify Lossless, or a trouble-free notarized macOS package are requirements.

We ran it

Lab card: what happened when we ran fastpotifyScreenshot of fastpotify (fastpotify.rocks)
Install✓ · 31s579 packages
Build✓ · 756s
Tests✓ · 47s296 passed · 0 failed of 296 (cargo test)
Repo219 files~36,234 lines of source · 7.4 MB · 3 CI workflows

Answers from our run

Does fastpotify build from source?

Dependencies installed in 31 seconds (579 packages), and the build succeeded in 756 seconds. We cloned commit 7eed451 into a clean Debian container with 3 CPUs and no project-specific setup.

Do fastpotify's tests pass?

Yes: 296 of 296 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use fastpotify?

Spotify Free users who expect playback: the README says Free accounts can browse, but Spotify only accepts playback commands from Premium accounts.

What are the alternatives to fastpotify?

ncspot, spotify-player, Psst. Our Fastpotify build took 756 seconds, then all 296 tests passed in 47 seconds, making it a credible trial for a Spotify Premium user who wants a native client.

Setup3/531-second install, but the Rust build took 756 seconds
Docs5/5Install, sign-in, platform packages, controls, and limits are explicit
Community3/5533 stars and current issue activity around a new release
Maturity3/5296 tests passed, while fresh platform playback reports remain open

Who it’s for

Spotify Premium subscribers who want a native desktop player instead of Spotify's browser-based client.
Linux users who care about MPRIS controls, PipeWire or ALSA output, and a small desktop process.
Keyboard-heavy listeners who want shortcuts, terminal commands, and a Winamp-style mini player.
Rust developers willing to build and inspect a young cross-platform audio application.

Who it’s NOT for

Spotify Free users who expect playback: the README says Free accounts can browse, but Spotify only accepts playback commands from Premium accounts.
Listeners who need local music files: open issue 3 requests the feature, and the contributor guide says Spotify tracks must come from Spotify.
Linux users unwilling to install native audio and windowing development packages when building from source: the README names ALSA, PulseAudio, libxkbcommon, and Wayland packages.
macOS users who require a notarized, friction-free installer today: issue 68 reports that the v0.3.0 Homebrew and DMG app hung before startup until quarantine attributes were cleared recursively and the bundle was locally re-signed.
Anyone who needs Spotify Lossless: the contributor guide says librespot does not provide it.

Setup reality

Our sandbox install succeeded in 31 seconds and installed 579 packages. The Rust build succeeded in 756 seconds. Cargo test then finished in 47 seconds with all 296 tests passing. The commit had 219 files, about 36,234 source lines, and occupied 7.4 MB before dependencies.

Using the app still requires Spotify sign-in, and playback requires Premium plus a separate one-time browser approval for local streaming. A personal Spotify Development Mode client ID is optional. Refresh tokens and settings are stored on the machine.

Linux source builds need ALSA, PulseAudio, keyboard, and Wayland development libraries, plus suitable system fonts for several scripts. There is no Dockerfile because this is a desktop audio client. The 756-second build is the main setup cost we measured.

Fastpotify is a full Spotify client without a browser engine

Fastpotify looks and behaves like a desktop music application. It has library pages, search, playlists, a queue, artist and album views, podcasts, lyrics, light and dark themes, and Spotify Connect device control. Playback uses librespot, while the interface uses Rust's egui toolkit. That makes it a much broader proposition than the terminal clients that inspired it. You can manage a playlist with drag and drop, keep music playing after closing the window, or shrink the app into a Winamp-style player.

The scope stays tied to Spotify. A Premium account is required to play anything, although a Free account can browse after sign-in. Local files are absent, and the contributor guide says Spotify audio must come from Spotify rather than a substitute catalog. Our 7.4 MB checkout contained 219 files and about 36,234 lines of source, a compact repository for this much interface and playback behavior. The installed Rust dependency graph was much larger at 579 packages.

Premium playback needs two approvals, while browsing needs one

The first browser flow uses Spotify's authorization page and PKCE. Once it returns to Fastpotify, library access, search, and remote device control are available. Local playback needs another one-time approval because librespot uses a separate client identity. That second grant produces a reusable credential. Fastpotify also stores a refresh token in the platform state directory, so anyone evaluating it on a shared workstation should understand where those credentials live.

A personal Spotify Development Mode client ID is optional. Supported requests can use its quota, while the shared app continues to cover requests such as full playlist views. This split is useful, though it also means behavior depends on Spotify's APIs and account policy. Our sandbox could compile and test the code without secrets, but it could not establish whether a reader's account, catalog, or Connect devices will behave correctly. That requires a real Premium account and an audio session.

What happened when we ran it

Our sandbox installed 579 Rust packages in 31 seconds. The build succeeded but took 756 seconds on 3 CPUs with 12 GB of RAM. Cargo test then completed in 47 seconds, reporting 296 passed and 0 failed out of 296. Those numbers cover commit 7eed451 in an unprivileged container with no secrets. They do not measure startup, playback quality, memory use, or Spotify API latency.

The repository itself had 3 CI workflow files. It had no Dockerfile and no separate tests directory, while Rust tests still ran through Cargo and all 296 passed. A desktop application that talks to the host audio stack would gain little from a generic server container. More relevant is the source-build cost: 756 seconds is long enough that most listeners should prefer the AUR binary, Homebrew cask, or a release asset when their platform package works.

Linux builds require native audio packages and system fonts

The README asks for Rust 1.95 or newer. Debian and Ubuntu builders also need development packages for ALSA, PulseAudio, libxkbcommon, and Wayland. Nix users get a pinned toolchain and dependencies through the provided development shell. These requirements are documented, which removes much of the usual guessing, but they make cargo install --path . only one part of the Linux setup. Audio output can use PulseAudio or ALSA, with PipeWire covered through PulseAudio support.

Font coverage is another host concern. Fastpotify borrows system fonts for Chinese, Japanese, Korean, Arabic, Hebrew, Thai, Indic scripts, and others rather than bundling every glyph. Missing fonts produce empty boxes. That choice keeps the application smaller, but a multilingual Linux music library may need Noto packages after the 579 Rust packages are already installed. The settings file and caches are plain local files, and deleting a cache does not sign the user out.

Current platform reports make packaged builds worth testing first

Issue 73 reports a Fedora KDE Flatpak crash when playback starts. Its log ends with PulseAudio connection errors and an invalid player state. The report does not prove a general Fedora defect or identify a fix, so the fair conclusion is narrow: that reporter's packaged v0.3.0 setup could sign in but could not begin playback. Issue 88 separately reports brief audio interruptions on Windows 10, with logs showing a local playback session reconnecting.

The macOS report is more specific. Issue 68 says the v0.3.0 Homebrew cask and DMG stayed in dyld_start on macOS 26.6.1. The reporter found quarantine attributes inside the app bundle and opened it after copying without extended attributes, clearing them, and locally signing the result. That is too much repair work for an ordinary music app. The 296 passing tests are reassuring for code paths, but they do not replace install and playback checks on each desktop target.

Fast release activity comes with a young issue queue

GitHub recorded 533 stars, 10 open issues and pull requests, and a push on August 30, 2026. Release v0.3.0 landed one day earlier with drag and drop, playlist caching, Spotify lyrics, persistent sorting, more remote commands, and several fixes. That is active maintenance by any reasonable reading. It also means packaging and playback reports are arriving against code that is changing quickly.

Fastpotify is easy to recommend for a technically comfortable Premium subscriber who dislikes Spotify's web-heavy desktop client. The native interface has a coherent purpose, the documentation states awkward account and Linux details, and our 47-second test run passed every one of 296 cases. Keep the official client installed until Fastpotify has played through your normal devices, sleep cycle, audio switching, and package updates without surprises.

Alternatives

ProjectWhat it isPick it when
ncspotA terminal Spotify client written in Rust with librespot playback.pick this instead when a keyboard-driven terminal interface is preferable to a full desktop window.
spotify-playerA terminal client with Spotify playback and command-line control.pick this instead when scripting and terminal use matter more than album-art pages and mouse-driven playlist editing.
PsstAn experimental native Spotify client with a graphical interface.pick this instead when you want to compare another native GUI and accept an explicitly experimental project.

What people are saying

  1. [velocity-scout] crmne/fastpotify

Sources

  1. Fastpotify repository and README
  2. Fastpotify v0.3.0 release
  3. Fastpotify contributor boundaries
  4. Fedora KDE playback crash report
  5. macOS package startup report
  6. Windows playback stutter report
  7. Local file support request

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →