lieberorg All apps

A1 · Side A · Listening

needle

Play it. Read it. Judge it.

A desktop app for reviewing new music. It plays the queues haystack fills, shows how each track reads against your taste, and hands your verdict back to haystack.

needle's Review screen. On the left, the album cover, the tempo against yours and a live spectrum. On the right, six scales from valence to loudness, each with the track's marker and your baseline. Along the bottom, the player, Dislike, Pass and five stars.
The Review screen, from its design mockup. The music in it is made up.

What it does

needle plays three queues. Discoveries holds the tracks haystack picked for you this week. Rate your likes holds the songs you have liked on Spotify but not yet judged. The third is any playlists you choose from your Spotify library.

Each track comes with seven Readings, from tempo to loudness, each set on a scale against your Baseline: where the music you like usually sits.

Then you judge it with one key: one to five stars, Pass or Dislike. haystack makes the Spotify writes that follow, such as the heart and the To Rip playlist.

How it works

Two programs in one package. The app is C++ and Qt Quick. needle-engine is Rust and plays the music itself through librespot, so it needs Spotify Premium. They talk over a Unix socket, and nothing on the desktop needs Python.

It knows haystack only through haystack's HTTP API. When haystack can't be reached it tries the next server, and meanwhile keeps the last snapshot, the next covers and an outbox of verdicts until one answers.

Every colour is a token from your Omarchy theme, followed live. The glow behind the cover is the cover's own pixels, blurred. Media keys and the Omarchy bar work through MPRIS.

Keys

1–5
Rate
Shift 1–5
Rate and play the next
P
Pass
X
Dislike
Space
Play or pause
← →
Back or ahead 10 s
J
Jump ahead 30 s
Tab
Next queue
L
Choose playlists to review
?
All the shortcuts

Credits

Runs on
Linux on Wayland, made for Omarchy and Arch Linux. Needs Spotify Premium and a haystack server.
Install
From needle's signed pacman repository, so it updates with the rest of your system. Each release also has a .deb (Debian 13 or later, Ubuntu 25.04 or later) and an .rpm (Fedora), as is and unsupported.
Built with
C++, Qt Quick, Rust and librespot
Latest
0.7.0, 23 October 2026
Licence
MIT
Font
Archivo, by the Archivo Project Authors, under the SIL Open Font Licence 1.1. It ships with the app.
Crates
librespot, under MIT. Most of the other Rust crates are under MIT, Apache-2.0 or either, a few under BSD, Zlib, Unicode-3.0 or Unlicense. mpris-server, symphonia and priority-queue are under MPL-2.0 and used unmodified.
Libraries
Qt 6 (LGPL-3.0), PulseAudio (LGPL-2.1-or-later) and OpenSSL (Apache-2.0), from your system at run time, not bundled.
Spotify
needle is not affiliated with, or endorsed by, Spotify. It plays through librespot, an open-source client that is not Spotify's own. Spotify's terms may not allow unofficial clients, so decide for yourself before you use it.
Source
kurtlieber/needle on GitHub. Its NOTICE lists every crate and licence.