A lightweight macOS Spotify player inspired by the classic Winamp.
Native audio, a real-time visualizer, and a tiny footprint — no Electron, no 1 GB of RAM.
Simple setup: just log in and play.
Note
NullSpot is an unofficial client and is not affiliated with or endorsed by Spotify. A Spotify Premium account is required.
NullSpot streams audio itself through a native engine (librespot) wrapped in a small SwiftUI app — so it stays out of your way and off your fans.
| Spotify (official) | NullSpot | |
|---|---|---|
| CPU during playback | ~20% (ballpark) | ~5% |
| Memory | ~1 GB (ballpark) | ~80 MB |
| UI | Electron | Native SwiftUI |
| Footprint | Full desktop app | Winamp-style mini player |
NullSpot figures measured on Apple Silicon during steady-state playback (Release build). Official-Spotify figures are rough, observed estimates. Your numbers will vary.
- Winamp-style mini player — a compact, focused window that gets out of your way
- Native audio playback — streams directly via librespot (no browser, no Web Playback SDK)
- Real-time visualizer — FFT-driven spectrum bars that react to what's playing
- Marquee track display — scrolling now-playing title and artist
- Spotify Connect & AirPlay — play to other devices or route audio to AirPlay speakers
- Search everything — songs, artists, albums, playlists, and podcasts
- Persistent queue — your queue is restored when you reopen the app
- Podcast resume — picks up episodes where you left off
- Favorites — like/unlike tracks, synced with your Spotify library
- Volume control — built right into the player
- macOS 15.0 or later
- A Spotify Premium account
brew install --cask michaelh03/nullspot/nullspot- Download the latest release
- Unzip it and move
NullSpot.appto your Applications folder - Launch NullSpot
- Open NullSpot
- Click Connect with Spotify
- Authorize NullSpot in the browser window that opens — that's it
No Client ID, no developer dashboard, no configuration. NullSpot ships with a built-in, production-approved Spotify application ID, so authentication works out of the box. Your login is stored securely in the macOS Keychain.
| Shortcut | Action |
|---|---|
Space |
Play / Pause |
⌘ → |
Next track |
⌘ ← |
Previous track |
| Shortcut | Action |
|---|---|
⌘ F / ⌘ K |
Toggle search |
⌘ 1 |
Songs |
⌘ 2 |
Artists |
⌘ 3 |
Albums |
⌘ 4 |
Playlists |
⌘ 5 |
Podcasts |
NullSpot is a SwiftUI app that talks to a Rust core via a C FFI bridge. The Rust layer uses
librespot for authentication and native audio
streaming; the Swift layer handles the UI, the Spotify Web API, and audio rendering
(including AirPlay) through AVAudioEngine.
See DEVELOPMENT.md for build instructions and a deeper architecture overview.
You'll need Xcode 26.2+ and the Rust toolchain.
# 1. Build the Rust core
cd rust && ./build.sh && cd ..
# 2. Build the app (or open NullSpot.xcodeproj in Xcode)
xcodebuild -scheme NullSpot -destination 'platform=macOS' buildFull details are in DEVELOPMENT.md.
Contributions are welcome — see CONTRIBUTING.md.
- Based on Spotifly by Ralph von der Heyden — the original project this was forked from.
- Built on librespot, and uses the same production Spotify application ID published by ncspot.
Released under the MIT License — see LICENSE for details.
