What if… Alexa could fix you a cocktail? That’s the kind of question we love to answer during our hackathons. Our answer during the Alexa hackathon? ALFReD, short for Automated Liquid Fun Refreshments Dispenser.
Why we do hackathons
Every now and then we organize a hackathon in our Amsterdam office. We have those, because it gives people the chance to work on things they might not work on normally. It’s also a nice chance to mix up project teams and work with other colleagues. So the set up plays into inspiration, creativity and team building all at once.
But a hackathon is of course also a bit competitive. All participants split up into teams and have 24 hours to work on their idea and create a demo version. They are basically battling each other, as at the end of the hackathon a jury decides on the winner. ALFReD is one of those winners, one that we still enjoy today.
Alexa Hackathon: hack a new Alexa skill
This particular hackathon focused on Amazon Alexa. The assignment was to hack a new Alexa skill. A few weeks before the actual day, teams were formed and ideas were shared and discussed. Some people were even dreaming about it… Developer Valentijn Geirnaert’s team wanted to create something physical as opposed to just software. One day Valentijn lay in his bed and thought about Alexa fixing him a Gin & Tonic. He was doubtful this dream could come true, but his team loved the idea and decided to go for it.
Mixing an Arduino controller with aquarium pumps and weight sensors
In anticipation of the Alexa hackathon, the team was allowed to build the frame and order parts. That was all the preparation they could do. In those hectic 24 hours of the hackathon, in which they only got 4 hours of sleep, they developed the software from scratch. How it works? Valentijn explains: “Arduino is a system of open source hardware components to build your own anything. We used an Arduino controller to control six aquarium pumps, a weight sensor and 32 RGB LEDs. The pumps pump ingredients (vodka, orange juice, and more) from their bottle to the glass, while the LEDs light up the ‘active’ bottle as well as colour the glass platform red (when in use) or green (ready for use). The weight sensor determines if a glass is present on the glass platform (if not, ALFReD will refuse to pour a drink).”
“We connected the Arduino controller to a laptop via USB. On the laptop we ran a spring boot application that was the brain of ALFReD. This brain contains all the recipe data, keeps track of which drinks are ordered and handles menu questions and Alexa responses. The spring boot application receives commands via a REST API, and send commands to the Arduino controller via the USB connection. We then set up an Alexa skill in Amazon that called the REST API running on the laptop, completing the system.”
Cocktail hour during the hackathon
The Alexa API and the coding of it was completely new at that time, so it was a lot of trial and error. Followed by success! On the same night of the Alexa hackathon we could actually serve cocktails. Screw Drivers, Gin & Tonics and Moscow Mules were poured lavishly.
Of course, our newborn needed a name. We came up with the name ALFReD, named after the world’s most famous butler: Batman’s butler Alfred. Alfred is always serving as Bruce Wayne’s moral anchor while serving him drinks. Once we had the name, we created the Automated Liquid Fun Refreshments Dispenser backronym.
One of the judges, our Managing Director Seth van der Maas, liked ALFReD so much that he wanted a bigger and better version of our invention. So after the Alexa hackathon we iterated on the idea and the beta-version now still serves our office.