Psst: Fast Spotify client with native GUI, without Electron, built in Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • SaaSHub - Software Alternatives and Reviews
  • psst

    Fast and multi-platform Spotify client with native GUI

  • spotify-tui

    Spotify for the terminal written in Rust 🚀

    Anecdotally, the only other Spotify UI I've seen on HN is still going strong after 2 years: https://github.com/Rigellute/spotify-tui

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • spot

    Native Spotify client for the GNOME desktop

    I've been using Spot[0], which is another Rust Spotify client using GTK.

    [0]: https://github.com/xou816/spot

  • rust

    Empowering everyone to build reliable and efficient software.

    If I had to guess, I'd say you're using a too old versions of rust.

    In the future, one will be able to give a nice error when this happen (https://github.com/rust-lang/rust/issues/65262)

  • aspotify

    Deprecated in favour of rspotify: https://github.com/ramsayleung/rspotify

    This app does, too. It uses aspotify[0], which is just a rust spotify wrapper.

    https://github.com/KaiJewson/aspotify

  • virtual-environments

    GitHub Actions virtual environments

    Not yet, it's bottlenecking a lot of progress waiting to be made.

    https://github.com/actions/virtual-environments/issues/2187

  • insomnia

    The open-source, cross-platform API client for GraphQL, REST, and gRPC.

    Aside from the initial load that all Electron apps suffer from, Insomnia feels pretty snappy to me. Granted, I only have a few dozens of API that load 20KB of JSON max.

    https://insomnia.rest/

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • SwagLyrics-For-Spotify

    📃 Get lyrics of currently playing Spotify song so you don't sing along with the wrong ones and embarrass yourself later. Very fast.

    this, I wanted to make a little utility for getting lyrics for whatever song is currently playing on spotify[1] and ran into the issue for getting the song name without using the API since that's just inconvenient for the end user. The most popular such project does go that way though.[2]

    I ended up writing a small library that does that locally cross-platform by using the metadata from the app.[3] The approach is probably not as robust as the API, but much faster and works well.

    [1] https://github.com/SwagLyrics/SwagLyrics-For-Spotify

    [2] https://github.com/johnwmillr/LyricsGenius

    [3] https://github.com/SwagLyrics/SwSpotify

  • LyricsGenius

    Download song lyrics and metadata from Genius.com 🎶🎤

    this, I wanted to make a little utility for getting lyrics for whatever song is currently playing on spotify[1] and ran into the issue for getting the song name without using the API since that's just inconvenient for the end user. The most popular such project does go that way though.[2]

    I ended up writing a small library that does that locally cross-platform by using the metadata from the app.[3] The approach is probably not as robust as the API, but much faster and works well.

    [1] https://github.com/SwagLyrics/SwagLyrics-For-Spotify

    [2] https://github.com/johnwmillr/LyricsGenius

    [3] https://github.com/SwagLyrics/SwSpotify

  • SwSpotify

    Cross-platform library to get the currently playing song and artist from Spotify w/o using the API or the internet. Very fast.

    this, I wanted to make a little utility for getting lyrics for whatever song is currently playing on spotify[1] and ran into the issue for getting the song name without using the API since that's just inconvenient for the end user. The most popular such project does go that way though.[2]

    I ended up writing a small library that does that locally cross-platform by using the metadata from the app.[3] The approach is probably not as robust as the API, but much faster and works well.

    [1] https://github.com/SwagLyrics/SwagLyrics-For-Spotify

    [2] https://github.com/johnwmillr/LyricsGenius

    [3] https://github.com/SwagLyrics/SwSpotify

  • web-api

    This issue tracker is no longer used. Join us in the Spotify for Developers forum for support with the Spotify Web API ➡️ https://community.spotify.com/t5/Spotify-for-Developers/bd-p/Spotify_Developer

    Slightly off topic, but it’s a shame Spotify’s web API doesn’t support (and they’ve said never will support [1]) playlist folders. I get that it’s a bit of a power user feature but it’s an essential one for me in any media player.

    Makes me worry they’ll remove the feature from their app one day (they allude to it being a bit of a mess in the database) which would be the push I’d need to move away to either another service or a local collection only…

    [1] https://github.com/spotify/web-api/issues/38

  • ncspot

    Cross-platform ncurses Spotify client written in Rust, inspired by ncmpc and the likes.

    And for those wanting a ncurse client, there is ncspot [0] which is quite stable and complete.

    [0] https://github.com/hrkfdn/ncspot

  • widevine-l3-guesser

    > Is that even possible for Spotify at this point?

    Spotify are using Widevine on their web client, which is considerably more annoying to deal with than the encryption method used in the files fetched by Psst.

    Nothing is stopping them from only serving files from the endpoint that serves Widevine protected files.

    Then again, Widevine L3 has been broken[0], Google just keeps rotating the private keys used in the content decryption module.

    [0]: https://github.com/Satsuoni/widevine-l3-guesser

  • Video-Hub-App

    Official repository for Video Hub App

    I built an Electron app Video Hub App and it's fast:

    https://github.com/whyboris/Video-Hub-App

    Electron is overkill for a todo app that you want users to open/close many times per day. But if it's an app that's used for 90% while it's open and is used a few times per week, who cares if it takes 2 seconds to start?

    I don't understand what everyone is moaning about with Electron. My app uses 130mb of RAM -- is that too much to ask for, for a dedicated video browser?

  • accesskit

    UI accessibility infrastructure across platforms and programming languages

    > it'd take awhile to perfect

    Some of us can't wait. That's why I, for one, continue to advocate for developers to make their applications accessible with the currently available tools. It's also why I'm trying, with my AccessKit [1] project (which admittedly is taking time to get off the ground), to make it easier for GUI toolkits to implement the current baroque platform accessibility APIs.

    I'm also reluctant to concede that we're doomed to reconstruct UI content and semantics probabilistically from pixels, when that information is already there somewhere in the app. But it may be the best long-term solution to the social problem of trying to get everyone to implement accessibility.

    [1]: https://github.com/AccessKit/accesskit

  • react-native-windows

    A framework for building native Windows apps with React.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts