A crazy idea that turned into a fun mashup of software and hardware...and all of it with LaravelAs a co-organizer and the MC of Laravel Live Denmark, I was tasked with helping to come up with an idea for entertainment during the conference. Entertaining on stage gets me pretty excited. Inspired by PHP Jeopardy, we decided to give Laravel Jeopardy a go this year. But this wasn't going to be just Jeopardy. I decided to go a little bit wild and build an entire Jeopardy game platform, including physical buzzers with Taylor Otwell announcing the team that buzzed in. And do it all using Laravel—hardware included. Let's dive in to how it was built. The plan The initial thought was to use the existing JeoPHPardy project, but I quickly discovered that the repository hadn't seen updates in 11 years and that it was referencing a buzzer system that doesn't appear to be sold anymore. I needed a new plan, and I needed it fast, as the conference was only weeks away. I figured this was a good excuse to try to use Claude Code to build a new greenfield project. Next, to figure out the idea for the buzzers. Since the conference is in Denmark, I originally considered using bicycle bells. (This is the land of bicycles, after all.) But we'd need to get bells with different sounds in order to be able to tell them apart, and it could get awfully noisy if people rang them continuously. I've worked with some awesome large arcade-style buttons in the past, so I decided to go that route instead. I ended up finding them at BerryBase in 5 different colors. I figured it would be a fun excuse to use Dan Johnson's Pinout library as well, which lets you control hardware using Laravel. I placed an order, and went ahead with the software. I didn't waste any time debating what technology stack to use. I went with the TALL stack since it seemed like a good fit and uses frameworks I'm already very familiar with. After a quick laravel new laravel-jeopardy and Claude /init, I was pretty much ready to s tar...
First seen: 2025-08-30 22:42
Last seen: 2025-08-30 23:42