Show HN: Jukebox – Free, Open Source Group Playlist with Fair Queueing

jukeboxhq.com

122 points by skeptrune 7 months ago

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 7 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 7 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.

itslennysfault 7 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)

jp57 7 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 7 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 7 months ago

      0-trust house parties

Unai 7 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 7 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 7 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 7 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 7 months ago

    I miss it too :( but I'm glad that we're still in people's memories :)

corny 7 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 7 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 7 months ago

Ripping the video to s3, naughty naughty. Be expecting your YouTube API key to be revoked and DMCA.

  • Zopieux 7 months ago

    It's just a cache bro, promise

    • cdurth 7 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 7 months ago

      Sir, it's just a cache, sir

extraduder_ire 7 months ago

You should probably put the MIT license you're using into a license.txt file in the repo. I don't see it anywhere outside of mention in the readme.

  • skeptrune 7 months ago

    That's a good catch, fixed!

JodieBenitez 7 months ago

Very cool application, nice UI too. No accounts is great. Youtube is obviously a must, but having the possibility to add a link to a file would be nice.

bahrtw 7 months ago

Superfun! Would be cool if you could experience the Jukebox itself, with a playlist from visitors? Then you directly have playable songs? :)

  • skeptrune 7 months ago

    Agreed! That's been the most common feature request so far.

foresto 7 months ago

Neat.

Any plans to support playback as a shoutcast stream, so folks can listen with their usual sound systems instead of a web browser?

  • skeptrune 7 months ago

    No plans right now, but that does sound like a really cool idea.

jason_zig 7 months ago

Ah man... anyone remember JQBX?

  • skeptrune 7 months ago

    I learned about JQBX and similar platforms through people that reached out as I've been sharing Jukebox around and they seem like they were beautiful corners of the internet.

noleary 7 months ago

I love that this was a "stress-relief project."

awaseem 7 months ago

Love this! More open source products for the better!

joeyagreco 7 months ago

> Failed to search YouTube: 500

:(

  • skeptrune 7 months ago

    Just fixed it. Fun fact, I have had to rotate between ~7~ 8 API keys today!

    That means people have made over 70k search requests on Jukebox lol.

4b11b4 7 months ago

dope. If I hit next does it go next on the other people's players?

  • skeptrune 7 months ago

    No, that has been a common feature request, which I didn't ship in the first version. Right now, it assumes that only one person is playing.

    • 4b11b4 7 months ago

      Or a "vote" if one person hits next, if majority agree, then it goes next

      • thrawn0r 7 months ago

        I don't think that's how a party works. At least my XP is that a majority of people are not invested that deep to curate the list in a democratic way because they're preoccupied with dancing if you do your job right :)