So, let me just start by saying that last weekend was awe-some!
After I visited trivago a few months ago, I was asked whether I would like to join their hackathon on the 20th and 21st of August. Having never participated in one, I was hesitant at first. But since I got to bring along Marco I got really excited and applied.
Last Saturday our day started early. I picked Marco up at the train station, and we headed to Dusseldorf around 7:30am. When we arrived there at 9am, there was breakfast, and everyone was getting to know each other while stuffing some food in their face. Opening talk started around 10am, after which everyone with an idea was allowed to pitch it. Since Marco and I discussed an idea, he took the chance to pitch it. Alas, no real excitement from the other devs. Probably because there were several similar ideas.
Let's find a group with an idea similar to ours, and just join them. That's when we stumbled upon Ingo, Natallia, Maiju, and Miguel. A team was found. Going down the elevator of the Deep Grey building, the mood was already set. We needed to come up with a team name, and all sorts of crazy ideas were suggested. Finally we decided on "Team Spoon". Why? Just because. We registered our team name with the hackathon organizers, and were guided to our room. For the next 29 hours, we would primarily be sitting and working in the Berlin room.
We didn't really know each other yet, so we decided starting with an introduction round. Ingo, a front-end focussed software engineer, with a history in mobile. Miguel, software engineer of multiple languages, including C# (boo! just kidding). Natallia, Project Manager at Outfittery. Maiju, UX expert at Outfittery. Having a Nesrin, CTO of Outfittery, on the judges stand, this could either be an advantage, disadvantage, or neither. Turns out, it was neither, and we're glad so.
So we started discussing the rough idea. We'd create an application where a group of friends could easily book a trip, without the hassle of communications through WhatsApp, Facebook, or other social media. With one trip creator, setting multiple group-wide filters, and a personal budget a trip would be created. Friends the creator wanted to bring along would get an invite to the trip, and they'd be able to set their own personal budget. If we had time left, we'd look at aggregated filters for the friends, and generate a combined output of hotels. In the next screen, they should have a list of hotels based on the filters and the average of all budgets set. Here is where everyone would vote for their favourite hotel(s) in the list. Finally, a winner is picked by most votes, and we'd create the ability to book the trip and share the bill.
So let's start thinking and coding! Ingo has had around 3 years of experience with Ionic, so it was clear we were going to create a hybrid mobile app. We needed some API's for it to work, and that's were Marco and I as back-enders came in. Having worked with Symfony for the past year, we decided we had to use that in order to make the most progress in littlest time. Miguel would join Ingo creating the app, and Maiju and Natallia started working on the idea in more detail. Before we knew it, the wall was covered in post-its and sketches of the screens we had to create. It was like an oiled machine had just been turned on.
After dinner at 6pm, real progress had already been made. Logging in using JSONWebTokens was possible, and the first calls to the trivago API had been implemented. Surprisingly, after dinner was time for beer. The mood up until then was great, but it got even better. We found out New Kids was also known in Germany, and David Guetta's world cup opening ceremony parody was played on the big screen we had. "Money! Money! I am so rich!".
Around 11pm Maiju and Natallia left. The wall was covered in even more post-its, adjustments were made to the initial designs, and everything was well thought and done for now. They did a great job, and took a load off of our dev-hands so we could focus on implementing it all. At midnight, big boxes of pizza were brought in, and you could see everyone was enjoying beer for quite a while now. After pizza, I haven't been much productive, so I started watching some Family Guy with Glenn and Alex from trivago. After that, at 1:45am, Marco and I went on our way to the hotel, which took about 45 minutes to walk. We got some sleep, and got up again around 8am to get back to the office.
Ingo and Miguel had been working almost all night, and were catching up on the back-end features Marco and I had been working on the previous day. We noticed we weren't going to be able to implement all things we had in mind, so we all worked on simplifying the functionality of the app. At 2pm, we were really in a hurry. The presentations would be in an hour, and we didn't have a finalized product yet. Natallia and Maiju started working on prototypes without actual functionality, so we had something to show in case we couldn't do a live demo.
At 3pm, we went back to the Deep Grey building, and all projects were presented to the judges. We were the fourth group to present our idea. We got our project somewhat demo-able just in time, and set it up on a personal hotspot just before we went on "stage". Maiju and Natallia did most of the talking, and Ingo did the final demo of both the prototype as well as the actual app. After all groups were done presenting, the judges went away to discuss. I had a pretty good feeling, and looking at the competition I thought that we would either be 1st or 2nd place. And I was right.
Unfortunately, we didn't make 1st place. Those guys had some unique features that made it very valuable. Still, we made 2nd place, and we were thrilled with that. In the end, it was all about the fun, and we definitely had fun.
Thanks to trivago for making it happen, and my team for being a joy to work with!