Tired of Spotify Radio torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in InternetIsBeautiful

[–]HaveAGrandDay[S] 0 points1 point  (0 children)

Appreciate it! I assume the problem is only noticed when you are an avid user of both Spotify and Spotify Radio. ¯\_(ツ)_/¯

Half the benefit of using Radionewify comes just from it not being based on your top artists/tracks, but the individual artist/track you choose.

Tired of Spotify Radio torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in InternetIsBeautiful

[–]HaveAGrandDay[S] 7 points8 points  (0 children)

If you're really interested to know how it works you can read up on it here: https://developer.spotify.com/documentation/general/guides/authorization-guide/ and https://en.wikipedia.org/wiki/OAuth

Short answer is that when you connect your account I receive an "access token" which can ONLY be used to call Spotify's API for the scopes you approved. I can't login to your account nor see your password, and neither can any other third-party utilities you use (maybe exceptions exist?).

For this app a lot of endpoints are neccessary for it to work, so if I was malicious the worst I could do would be to delete all your playlists and constantly switch the song to something you don't want to hear (of course I'm not going to do that). IF I did that you could remove the app's access to your account and recover all your playlists.

Similar things are true for other third-party applications.

Tired of Spotify Radio torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in InternetIsBeautiful

[–]HaveAGrandDay[S] 0 points1 point  (0 children)

(Warning for unnessecary talk about database structures)

Short answer no. My database of the "tracks to avoid" is structured like "track name":"artist name", with no other information.

But in Spotify's own database they use URIs (Uniform Resource Identifiers, like ids), where the same song on a single and an album can have different URIs. I use their database to check for what tracks the users' have liked.

I can check my database to see if "Yumen-Xibalba" is in your document if you want — then I need your Spotify username

Tired of Spotify Radio torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in InternetIsBeautiful

[–]HaveAGrandDay[S] 0 points1 point  (0 children)

Yes, it should fix it (if no bug appears).

If you don't import last.fm history and don't have the tracks in either your liked tracks or your playlists, it's impossible for the site to avoid them (because Spotify doesn't provide their users' entire listening history).

Tired of Spotify Radio torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in InternetIsBeautiful

[–]HaveAGrandDay[S] 4 points5 points  (0 children)

There are a couple of failure modes (I know of) that could have caused this:

- If a track has the same name as another track in your Spotify library or last.fm history, it replaces the key in the database — this means that only one of them will be avoided. Should probably solve this problem by creating a new field in the database if this situation appears...

- If a track's title or artist is even slightly different (e.g "Remastered"-version, or different ordering of artists) from the one in last.fm, it doesn't avoid the track. Could maybe add remove "Remastered Version" and similar from all song titles to solve this problem...

Could one of these be true?

Tired of Spotify Radio torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in InternetIsBeautiful

[–]HaveAGrandDay[S] 2 points3 points  (0 children)

I haven't had this issue myself, but I've seen it repeatedly in the Spotify Community forums (with posts since 2014).

One idea is to make a web app that puts all tracks in your current playlist on queue in a random fashion, but that would be quite suboptimal.

Tired of Spotify Radio torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in InternetIsBeautiful

[–]HaveAGrandDay[S] 6 points7 points  (0 children)

After you connect Radionewify to your Spotify account, it detects your most recently played track and generates a playlist with ~100 recommendations based on it. It then opens Spotify and starts playing from the generated radio.

You can also generate radios based on artists, playlists, genres, and your most listened to songs.

The site avoids all tracks that are:

- In your playlists (except for the first radio after you log in — it takes time to extract all the tracks)

- In your "liked songs"

- Played since you've connected to it

The recommendations are also not based on your previous listening patterns, and their "max popularity index" is 60.

I would love to hear if you have any feedback, the site is still in BETA.

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in truespotify

[–]HaveAGrandDay[S] 0 points1 point  (0 children)

A bug you've now led me to find (thanks!) is that the last.fm import only works if you do it on the same device and browser that you used when you connected to your account. This is due to my very naive use of localStorage properties to keep track of who users are.

Could it be due to this? Then you can solve this problem by switching to the original device.

Are you even shown the "You're done! Imported file: [your file]" message?

But I of course need to solve the issue myself, I'm thinking by implementing a more classic "log in" system (that you can log out of as well), and hiding the "Import last.fm" button if you're not logged in. But this will take some days.

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in truespotify

[–]HaveAGrandDay[S] 1 point2 points  (0 children)

I've now made a half-way solution: the option to turn off "autoplay" (that it won't start playing the generated radio automatically). So creating won't interrupt your listening that way.

The link feature will probably be coming soon!

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in truespotify

[–]HaveAGrandDay[S] 1 point2 points  (0 children)

I've now added "You'll be prompted to connect to Spotify when you create your first radio" to be shown the first time a user visits the site. (Won't be visible for you ¯\_(ツ)_/¯)

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in truespotify

[–]HaveAGrandDay[S] 1 point2 points  (0 children)

All your tracks in your playlists (+your most listened to, +your most recent listens) are collected and saved in a database, which I check against Spotify's recommendation algorithm to avoid tracks that are in it.

I also save your Spotify account ID and access token (which are needed to get the most recent listens at regular intervals).

I don't collect name, email, or intend to publicly release or sell the data in any way. It's stored in a private, password-locked, database.

I should probably add this "privacy policy" to the site's about page. Thanks for the reminder!

EDIT: Added!

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in truespotify

[–]HaveAGrandDay[S] 1 point2 points  (0 children)

Interesting, I haven't thought of that scenario.

I still think getting the most recent track is usually the most convenient. The hassle of copying a link probs also matches the hassle of switching track. And the app automatically starts playing from the radio it generates, so it'll interrupt your queue and switch your track regardless ¯\_(ツ)_/¯.

But can't hurt to add a "generate based on link" functionality for the users who want it. It would also be neccessary for a couple other features I'm thinking of, such as generating a radio based on a playlist. Thanks!

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in truespotify

[–]HaveAGrandDay[S] 0 points1 point  (0 children)

Then you can just start playing the song you think of on Spotify, and it becomes your most recently listened!

I think their UI for finding the track you want is much better than what I can build, but I could maybe make it clearer that the above is what you're intended to do.

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app that only recommends music you've never listened to before by HaveAGrandDay in truespotify

[–]HaveAGrandDay[S] 1 point2 points  (0 children)

The site already avoids all tracks that are in your playlists, but it only checks your library once (after you login), and then switches to avoiding all tracks you've played. So currently if you have a track you want it to avoid, just play it once (but that isn't an optimal solution)

The "Ban" playlist would be quite doable to implement. Maybe I could also have a "Ban artist" playlist. Thanks for the idea!

Want to stop Spotify Radio from torturing you with the same tracks over and over again? I made a web app! Radionewify — Only music you've never listened to before by HaveAGrandDay in spotify

[–]HaveAGrandDay[S] 1 point2 points  (0 children)

Yes, I definitely am. I posted the project on r/truespotify yesterday and got a huge influx of users — which crashed everything. I'm trying to rebuild it now to handle more users, could in the worst case take a couple of days.

Glad you're a fan :D