Worked from 2022-11-13 to 2023-03-15

🏷 Tags

🚦 Status

Stopped

A lightweight Spotify client built with React and Spotify. I was tired that the Spotify client was slow and bloated, so I built my own.

It uses fewer resources than the official client and it’s faster too. Unfortunately, since I’m using librespot to connect to Spotify, it doesn’t support all the features of the official client. One that I love about Spotify is not supported, such as logging listened songs. For that reason, I still use the official client.

The UI is built with Mantine , a React UI library, with Tauri for the desktop app.

Login

The application has a blurry look and feel with backdrop blurs. The following is the login page, where you’re prompted to enter your Spotify credentials. The nice thing with librespot is that you have access to all the Spotify APIs including the gRPC APIs, which gives you immense access to Spotify’s features.

Screenshot of login page

Home

Here you can see your recently played artists along with the track you’re currently playing.

Screenshot of home page

Syncing

The application syncs with the official Spotify client in real time. This means that if you play a song on the official client, it will show up on this client, and vice-versa.

Real-time interaction with custom client and real Spotify client

Swift UI

I had also made a MacOS/iOS application with Swift UI interacting with the Rust backend using a bridge .

It the same functionality as the React application, but it was a lot faster and was even less resource-intensive, since it was native. If I’m honest, Swift UI is not that great, it was a pain to work with, but an interesting experience nonetheless.

🧑‍💻 Related Projects

🛠 Technologies

Languages

Frameworks

Other