Now that winter is here, we’re taking the opportunity to tell you about our eighth and latest hackathon – replete with Game of Thrones-themed decoration, cake, costumes, bonus points for Jon Snow memes and the apt title of “Hackathon Season 8: A Total Trainhack”.
Having been not just participants (and dare we say, winners) but also co-organizers of this latest iteration of our quarterly hackathon, here’s four tips for you based on what we learned to make your next one a success.
1. Set the tone
When it comes to organising a hackathon, you can't go wrong with pizza and cake. Us Paddlers are always happy when an event has food involved, especially when it’s a Game of Thrones-themed cake!
It’s essential to keep everyone fuelled for the hacking days ahead as this contributes to making the hackathon a significant event in the office. There is not much effort involved in providing hack snacks but it makes a massive impact, and you can dress up your kitchen area to make it fun! For example, when we laid out our food we included knight-themed napkins, plates and gauntlets. It’s a great idea to get a team together to help organise the hackathon as it makes it much quicker by delegating jobs to different people.
Having a separate Slack channel helps with organisation as you can see where everyone is at with their jobs, and people can ask for help if needed. Simply buy a big cake, phone up your local pizza place, and you are already on your way to hosting the best hackathon ever!
2. Have a killer idea
When coming up with a Hackathon-winning idea, there were a few rules we followed to cook up a recipe for success, and most importantly, build something awesome.
Solve a problem 🔎
We wanted to create something that would be useful to as many people as possible, tackling an acute and defined business problem to Paddlers across the business.
We decided to build a business tool called SegmentBot to improve our customer segmentation process, saving our sales team the admin pain of manually categorising our customers.
To determine the biggest pain points, we talked to people across different teams to find out what they’d most benefit from and validate potential solutions. Get chatty at the coffee machine (and prepare for hacking levels of caffeine).
Make it shippable 🚢
A great idea is all well and good but if no one can use it (or understand how to use it!), you might as well kiss hackathon fame goodbye.
We were strict in planning our SegmentBot MVP (minimum viable product) that offered the core functionality and included an intuitive user experience/interface. Anything beyond was nice-to-have but not priority within the two days we had.
By the end of the hackathon we had our fully-functional MVP. SegmentBot determined the Paddle segment a customer belonged to, based on real-time web scraping and sentiment analysis. Our product was downloadable as a browser plug-in which was something Paddlers across the business could use tomorrow, not just engineers!
Make it cool 😎
With a problem identified, one of the incredible aspects about tech is that there are always multiple ways to solve the same problem; the difficult part is choosing which approach is the best!
In the Hackathon we made design decisions to explore our personal interests in interesting tech. We wanted to use Python, Web Scraping, AWS Serverless Lambdas in the back-end, and build our front-end as a Google Chrome Extension. The majority of these were new technologies to us; but it was something we wanted to learn through building!
3. First make it work, then make it pretty
We decided to break our hackathon project into small “slices”. Each slice represents a deliverable for the project:
Slice 1: Create a simple CLI interface which accepts a URL and returns data relating to the website segments.
Slice 2: Expose the functionality created in slice 1 via a HTTP API hosted on AWS Lambda.
Slice 3: Build a Chrome extension to integrate with the API built in slice 2 and show the segment data for a web page in a pop up.
Our goal when coming up with these slices was to ensure that we deliver incremental value to our users. Slicing the project in this way meant that once slice 1 was complete, even if we ran out of time at that point we’d be able to demo a working solution to our problem.
We worked together on slice 1 as a team, once we got the CLI tool working and achieved the first milestone we split up and paired programmed on slice 2 and 3 in parallel.
This approach worked out really well as the pair developing the API could work at the same time as the Chrome extension pair. We completed slice 2 and 3 at around the same time.
After completing slice 3, doing some testing and iterating on the visual design we had a working solution ready to be rolled out for use throughout Paddle!
4. Have fun
The final tip is very simple: have fun. Without it, you will feel pressured and hackathon days will be just another forty-eight hours to increase your blood pressure — it’s not the way you should roll. While the tone is set to encourage competition, it’s not about winning. It’s about getting the chance to explore and learn something new. Whether you’re tackling a very narrow or very wide issue, the only limits at a hackathon are creativity and time. The rest is boundary-less, especially if you are surrounded by amazing people with different skills to complement each other’s strengths.
If you ‘go with the flow’, what can go wrong? So be agile! Communicate a lot — we booked a kick-off meeting before the hackathon started and created a private Slack channel, so we all were on the same page with the project stage. For all of us coding is the biggest part of the hackathon, but remember there is also a presentation part.
Following the main rule, make your presentation fun! You have only limited time to sell it to the audience (who voted on the winners together), so make the most out of it. We practiced our presentation several times - each time we changed something, but the final result was very interactive with our audience, so they can have fun too!
Last but not least
Here’s a picture of us post-win (from left to right: Beata, Deanna, James and Linna)!