Last commit: recently by GenaDeev

Spotifust

A multi-platform, ultra-lightweight Spotify client built entirely from scratch in Rust. Ditching the heavy browser engines for pure native playback.

The Story Behind Spotifust

Spotifust started from a simple but stubborn idea: why does a music player need to load an entire web browser inside it?

Modern desktop apps often rely on heavy web engines like Electron or Chromium, which eat up RAM and battery. Our purpose is to build an application that does one thing perfectly—playing music—while maintaining a baseline memory footprint of less than 25 MB.

No Node.js running behind the scenes, no full Chromium instance rendering four buttons. Just one binary, one process, and your GPU doing what it does best. That's the core philosophy.

RAM Footprint Comparison

Spotifust LogoSpotifust (Rust)25 - 75 MB*
Apple Music LogoApple Music (WinUI3)**180 - 350 MB
Tidal (Electron)300 - 700 MB
Spotify LogoSpotify Desktop (Electron)400 - 800 MB

* The final optimization goal is to maintain a baseline footprint of ≤ 25 MB.

** Measurements based on the native Windows application.

Powered by Rust

Spotifust relies on the Rust ecosystem's best crates to deliver a smooth and safe native experience.

🎨 iced & tiny-skia

For a GPU-accelerated GUI based on the Elm Architecture (MVU). Clean state management without mutability nightmares.

🎵 librespot

An embedded engine for session management, DRM decryption, and chunk fetching straight from Spotify's servers.

🔊 rodio

Handles cross-platform audio output to feed decoded PCM arrays directly to the system sound drivers.

🌐 rspotify & tokio

Asynchronous multi-threading for the Spotify Web API and network requests, avoiding UI thread blocking.

📊 Language Distribution

Rust90.8%
Shell6.3%
PowerShell2.8%

Architecture & Roadmap

We follow a strict zero-crashing policy and an Elm-like pure Model-View-Update flow. Here is where the project is heading.

Phase 1: Bootstrapping & Core Architecture
Phase 2: Custom Canvas Layout Engine
Phase 3: Librespot Audio & Session Pipeline (Next up)
Phase 4: RSpotify Web API, Auth & Premium UI
Phase 5: Polish & Optimization

Project Metrics

52Commits
2097Lines of Code
5Pull Requests
0Open Issues

Daily Commits (Last 28 days) (Last 7 days)

189001201301401501601701801902002102202302402502602702802903011182831243506371869Jun 12Today1260831243506371869Jul 3Today
*Dates and commit activity are grouped by UTC timezone

Get Involved

If you love systems programming in Rust, software architecture, or simply enjoy crafting highly performant tools, the door is open for your contributions.

Current Contributors (1)

GenaDeev

Built with passion and code by GenaDeev. Any PR that respects our philosophy is more than welcome.


Read Contributing Guide