Readit News logoReadit News
Posted by u/skeptrune 2 months ago
Show HN: Jukebox – Free, Open Source Group Playlist with Fair Queueingjukeboxhq.com/...
Hey HN,

I built Jukebox because I got frustrated with group music apps and Spotify’s limitations (not everyone has Spotify, and collaborative playlists are still too easily dominated by one person). Jukebox is a web app that lets you create a group queue—anyone can join via link, add YouTube songs, and the system automatically rotates songs so everyone gets a fair turn (no more playlist hogs).

Web-based, no accounts, no installs.

Drop in a YouTube link or search and add music instantly.

Songs rotate in round-robin order (so even if one person adds ten songs, nobody else is skipped).

Entirely open source (MIT), self-hostable with Docker, privacy-friendly.

Live demo: https://jukeboxhq.com

Code: https://github.com/skeptrunedev/jukebox

I made this as a stress-relief project while pivoting my actual startup (Trieve) and used it to practice UI/UX (neo-brutalist design, drag-and-drop), plus experiment with AI pair coding.

Would love your feedback or feature ideas!

andelink · 2 months ago
Cool project! I have never been very satisfied with the existing services for collaborating on playlists.

I think the experience could be improved if you branched beyond YouTube for the media. I search "jim-e stack" and see multiple non-song videos (in fact 3/4 are not songs). One idea might be to use a service like https://odesli.co (formerly song.link) to filter to real music tracks people are familiar with on their streaming platforms. Their API returns links to Apple Music, Spotify, YouTube, etc for a given music entity (e.g. song, album). Furthermore, integrating with Odesli would offer a path towards allowing users to drop Spotify / Apple Music URLs directly from their respective apps into the jukebox, which I think would be my ideal experience.

My $0.02. Thanks for sharing!

skeptrune · 2 months ago
THANK YOU FOR THE REC TO ODESLI!

Tbh I should have done an Ask HN. I tried googling and using the AI to find some song API which could replace youtube and nothing came up.

andelink · 2 months ago
No problem! You might also consider the iTunes Search API [1] to power your search functionality e.g.

    curl 'https://itunes.apple.com/search?term=jim-e%20stack&entity=song' | jq
[1] https://developer.apple.com/library/archive/documentation/Au...

nzoschke · 2 months ago
Love it!

I made an open source jukebox too. Mine models an old-school jukebox, where you set up a tablet so all your friends can browse and queue up music at a party.

https://github.com/nzoschke/jukelabhttps://nzoschke.github.io/jukelab/spotify/desktop

I see you're in the Bay Area. I do occasional Jukebox Happy Hour in SoMa we could meet up at...

skeptrune · 2 months ago
I would love to! Reached out to you
itslennysfault · 2 months ago
Very cool. It's like a much more minimal (and more open source) version of one of my favorite sites https://deepcut.live (formerly turntable.fm)
skeptrune · 2 months ago
Woah! I had no idea that the URL for turntable changed. Bunch of other folks reached out and also said it reminded them of that.
itslennysfault · 2 months ago
Yeah, the "why" the URL changed is a pretty messy story.

The original founders both wanted to start a new version of the original, and had a very public feud about ownership of the domain / name. I can't find any of it now so I'm assuming it was all removed as part of the settlement. Instead, they both posted this nearly identical statement.

https://jperla.medium.com/turntable-resolution-c66c6662ad62

https://billychasen.medium.com/settlement-agreement-9d5a5366...

jp57 · 2 months ago
One thing I think is interesting is that many people value fairness, but people also have very different ideas of what is fair.

For example, I think quite a lot of people think first-come-first-served is fair, and jumping the queue is unfair. But that doesn't seem to be the notion of fairness employed here.

bramhaag · 2 months ago
Another way to define fairness could be based on the song duration. Is it fair if two people get to play the same amount of songs, but one picks songs with an average duration of 3 minutes, while the other picks 15 minute long songs?
treve · 2 months ago
0-trust house parties
Unai · 2 months ago
There's another "Jukebox" [1] that's been doing apparently the same thing for many years, in there a connection there, or just the same name (and function)?

[1] https://jukebox.today/

skeptrune · 2 months ago
I had no idea there was another! The search function on that site doesn't seem to be working, but it otherwise seems much more fully featured.
keysdev · 2 months ago
Seems like your project is using YouTube API to get the songs. Would be good to make that just a plugin then one cam swap for spotify bandcamp etc while data still stays local.

Dont want a nice open source project to just turn into a front end for youtube.

Aeolun · 2 months ago
Oh, this is perfect. I still miss the epicpower group from Grooveshark, and it’s been nearly a decade since that shut down.

https://www.jukeboxhq.com/share/epicpower

altendo · 2 months ago
I miss it too :( but I'm glad that we're still in people's memories :)
corny · 2 months ago
This is great. One little thing, after the last song in the playlist is over, it would be nice if the state remained in play mode so that when another song is added to the queue the new song would play right away.

Also, I've been wanting something just like this but that would also play the video as well as audio.

skeptrune · 2 months ago
Will ship that feature request. I can understand why that would be useful.

I thought about doing video, but that requires downloading and storing much more content in S3 which makes the app feel slower than it already does for just the audio.

cdurth · 2 months ago
Ripping the video to s3, naughty naughty. Be expecting your YouTube API key to be revoked and DMCA.
Zopieux · 2 months ago
It's just a cache bro, promise
cdurth · 2 months ago
Definitely not to skirt auto play and screen off issues ;) fun to see this is still a problem being solved. A friend and I made the same thing 10 years ago. We opted to force the screen on and play the videos to stay "legit". Explored licensing music for monetization and there was a mid 5 figure minimum to bootstrap so the project died.
skeptrune · 2 months ago
Sir, it's just a cache, sir