crmne/spotifast

Media & Design

A native Rust Spotify client for desktop listeners who want their library and local playback without a browser engine.

9,274
547
Rust
MIT
2 months old

Spotifast is worth a look if a bloated browser-based Spotify client is the main annoyance in your desktop listening, and you are willing to create your own Spotify developer app to sign in. It bypasses Spotify's embedded web player rather than extending it.

The problem

A desktop listener wants to browse playlists, Liked Songs, albums and podcasts, then play them on the same machine or control another Spotify Connect device — without waiting on a heavy client. In a typical browser-based setup, that means a slow start, high memory use and web-style navigation for what should feel like a local music player. Spotifast changes the sign-in and playback path: when you choose a track, the app talks to Spotify directly and plays audio on the machine through librespot. The result is a native library browser and player that starts quickly and displays the desktop controls music playback normally expects.

What's different

The measurable claim is narrow and concrete: Spotifast says it typically uses 100–250 MB of RAM, starts in well under a second, and has no browser engine. It is built in Rust with egui and fastframe, and plays audio through librespot. Local playback makes the computer appear as a Spotify Connect device named Spotifast, so you can switch between it, your phone and Google Cast speakers from one device menu. The app also keeps a queue with Play next, plays local files listed in your playlists from a chosen folder, and includes themes, media keys and an optional Winamp-style mini player with .wsz skins and an equalizer. MilkDrop visuals are also included on Linux, macOS and Windows Intel/AMD builds.

The trade-off is Spotify-account plumbing. Library access and local playback require two separate browser approvals, remembered in the computer's protected storage. The app also sits outside Spotify's official client design, so its guide separately covers what Spotify and librespot allow, and account-ban questions.

Who should try it

A good fit is a Premium subscriber on Linux, macOS or Windows who wants a fast native player for their existing Spotify library and is comfortable making a developer app once. Local files matter here too, but only for files your playlists already list. A poor fit is a Free user who mainly wants playback: Free accounts can browse and search but cannot play through Spotifast. If you need MilkDrop on Windows on ARM, that download omits it; the macOS install path via Homebrew cask or the app download avoids building from source, while other Linux users choose from Flatpak, AppImage or Nix on the download page — see the project's getting started guide.

Requirements and limitations

Playback requires Spotify Premium. The account that creates the Spotify developer app also needs Premium, and you must register the redirect URI shown in the app before pasting the Client ID. Those two approval steps are one-time, but they are real setup work, not a sign-in-and-go experience.

Beyond sign-in, local playback is a second separate approval, and you must deliberately turn it on and select Spotifast as the output device. Feature coverage has platform edges: MilkDrop is not in the Windows on ARM build, and tray behaviour depends on your desktop and settings. The documentation links Spotify and librespot limitations and a troubleshooting page for errors such as a refused audio key, which is where to check before assuming the app is broken.

HotRepo's take

HotRepo recorded Spotifast at #3 on the monthly Rust board on 2026-10-27, with +4,670 stars that month. That is one dated observation and there is no daily-board history, so persistence cannot be judged from it. The repository itself was only created on 2026-08-27, which makes the pace notable but says nothing about long-term maintenance. Before relying on it, check the What Spotify allows page against your own library and device expectations; the Premium-only playback constraint is the one to verify first.

Written by AI from the project's README, updated October 27, 2026. The project's own docs are the source of truth.