Ok, so bear with me through some history. I love halloween. So much that my wife and I used to throw an annual halloween party where costumes were absolutely-non-negotiable mandatory. And they were a hoot! People really put effort into them.
But them time went on, people got busy, and the grumbling started. Nobody had time to build an elaborate costume anymore. So we pivoted: to replace the halloween party on our social calendar, we created the KrishCross Fall Showdown.
The Showdown is a party with games interwoven throughout the night. Its not an “everybody sit down and play this board game” sort of thing, more of a cocktail party with games you can do while holding a martini in one hand and a canapé in the other. When you arrive, you’ll get a fist full of KrishCross Bucks, which is the currency for the night. Winning games wins you bucks, and the person with the most bucks at the end of the night gets to take home a fabulous trophy that I totally made out of dollar store crap.

I love this party, and its important to me that everything runs smoothly. There are alot of things to coordinate throughout the night, and many of the games have audio cues to keep the guests up to speed. Plus we’ve got a Spotify playlist that needs skipping from time to time.
So I build this little web app that puts all the music and audio cues on my phone. Its like a soundboard but super specific to this one annual party.
The app is just a locally hosted Rails app, where my laptop in the basement is the server and my phone is the client. It uses the Spotify API to play music and sound effects at the right time, with minimal fuss. The key part of the app are the “interruptions”. An interruption is a point in the party where I need the playlist to pause and a specific sound effect to play. When I hit “resume”, the playlist picks back up again where it left off.
Extra? Most definitely. Useful? 100%.