A passion of mine which has been growing over the years is Karaoke, and not just Karaoke but the rather unique niche of Camping Karaoke.
This idea started out many years ago where it was a combination of a generator, a stereo, a laptop, and a stack of printed out pages with all of the available song titles. People would look through the pages and manually write out their song selections. I would then be in charge of manually creating a playlist song-by-song.
The next iteration involved putting fake mp3s of all of the song titles onto an iPod, passing the iPod around to have people add their songs to a playlist. This playlist would be imported, then a simple script would translate the playlist into a type of playlist the karaoke software would recognize.
The main issue with the previous approaches was that the entire list of chosen songs was completely randomized, which often cause an awkward situation. People who chose more songs than others often ended up performing multiple songs in a row, while those who picked fewer songs had to wait longer for their turn.
In 2015 I decided to go high-tech with this situation and utilize Drupal to create a website to organize the karaoke setup. Multiple users can scan QR codes to connect to the website which runs off of a Wifi hotspot. The site contains a list of all available songs so users can choose the songs they want to perform and whether they want to perform it earlier or later.
When it's showtime, the playlist is randomly generated in a way that ensures all performers are evenly spaced out and the songs are weighted by their earlier/later preference. Data is gathered on the chosen songs to create personalized pages for each user, which suggests new songs they might like, such as songs they haven't performed before by artists they have previously chosen.
This project has been very successful in simplifying the process of organizing the karaoke playlists, which allows me to enjoy the experience of Karaoke with minimal setup time. This has been an ongoing project and I have added features here and there over the years.