Authors: Kazuhiro Uchikata, Deena Tenzer and David Tittle
The Hackathon Scope
Hackathons are an essential part of Snapsheet’s tech culture. In this post, we’re going to give you a play-by-play breakdown of our experience, distilled down to 5 steps, which can be applied to any Hackathon. Although we did not win this time around, we found this event both fun and valuable. We hope that sharing our experience will enlighten and encourage you to participate in your own Hackathon.
As mentioned in this previous post, we do Hackathons at least once a year at Snapsheet, where Snapsters who don’t typically work on the same team are given an opportunity to collaborate on projects together over the course of a few days. The Spring 2022 Hackathon took place from March 9th through the 11th, and two weeks before that, the announcement went out requesting proposals for projects.
Since Deena and David are both members of the SRE Team, they wanted to collaborate on a solution that affected the SRE Team. After Deena posted an original idea on the sign-up sheet, Kazuhiro Uchikata from the Transactions team reached out, showing interest in the project. With Kazuhiro on board, the team was ready.
Step 1: Generate The One Idea That Will Change Everything
Before the Hackathon begins, you’ll need to brew up an enticing project idea. It’s essential to spend time deciding on an idea without doing too much research ahead of time. It’s equally important to find an idea that solves a significant problem. For example, this problem can be a pain point in your team’s current process. Our initial idea was to build notifications around our CircleCI deployments.
By the end of the Hackathon, we pivoted to deliver a collection of charts and graphs that display metrics from multiple platforms such as CircleCI, AWS, and Github in a single dashboard. As a team, we identified the difficulty our management faces when they want to look at metrics across our department to find opportunities for cost or performance savings in our applications. Our idea solved this problem by creating a centralized visualization for all metrics.
Step 2: Pivot Your Ideas to Achieve The Goal
The first step to most Hackathon projects is going to be to pivot. Unless you or your project leader came in with a specific vision and some parts of the technical solution already thought out, chances are that when you meet with your team for the first time, you will start to drift from your initial idea, and that’s OK! There are several reasons why it is a good idea to pivot.
For example, we decided to pivot after brainstorming, considering the team’s technical expertise, the best ideas for winning votes, and the time constraints and feasibility. Whatever the reasons, it is important to find an idea that everyone on the team can buy into, and it is most important to hash this out as early as possible. Of course, you may be forced to pivot in the later stages of the Hackathon due to technical or time constraints, but you want to avoid this if possible. This will give your team the time and focus needed to work on the implementation for the majority of the Hackathon.
Step 3: Get ahead of the competition by doing your research!
The second step in a Hackathon project, which is interlaced with the first step in many ways, is research! Now that you have your winningest idea, you need to do some groundwork to figure out what technologies and tools you may want to use and what your system design will look like. If this is a Hackathon at your workplace, you may also want to research any internal tooling you can leverage.
In our case, the first challenge was picking the primary technology for rendering the data visualizations we needed. We mainly considered Sisense and Grafana due to previous internal usage within Snapsheet. We ultimately chose Grafana due to the ease of integration with various data sources and the seemingly lower barrier to entry. Next, we had to consider how to host Grafana, where we arrived at another fork in the road: host our own or use AWS’s managed Grafana Service. This decision took considerably more research and exploration, as slight differences in the functionality were challenging to see from a surface level.
Ultimately, we decided to host our own docker image with Grafana because of its more flexible data source integrations. Fortunately, we could also leverage the deployment pipeline of a deprecated Grafana project at Snapsheet to get our project up and running. These decisions seem simple in hindsight, but in the moment, you will spend time exploring each potential path for your project before settling on the one that appears most promising. If no roads seem good, you may need to head back to Step 1 and revise your project idea.
Step 4: Find Your WOW Factor
Creating a dashboard for our Hackathon project was vital because it was our “wow” factor. This is the visual that the judges will (hopefully) remember and therefore was what enticed them to vote for our project. To better understand what dashboards we wanted to create and get feedback on our initial ideas, we decided on day one to talk with stakeholders and potential users. This allowed us to pivot very quickly and decide on the approach we would take within the first few hours based on their feedback. After that, we were able to dive right into creating the dashboard.
As soon as we started, our team ran into several obstacles. First, we struggled with the best way to divvy up the work. We wanted to ensure we utilized everyone’s time effectively while producing the best dashboard. We also had to figure out how to work in parallel. We split into two teams; one team worked on creating the best visuals for the dashboard locally, while the other team hosted the dashboard in AWS.
Step 5: Nail the Presentation & Demo
We were one of seventeen teams presenting at the Hackathon. Yes, having a good project idea is important, but it is even more critical that your presentation is memorable to the judges. As previously mentioned, our dashboard was our “wow” factor – our visual that differentiated us from the other teams.
Another crucial part of a presentation is the content. How do you present your project? We have found that telling a story is the most memorable and exciting way to present an idea. Start with identifying the problem and how it affects the stakeholders. Tell a story about how a stakeholder came across this problem. Then, present the solution. Clarify all of the benefits that the solution brings in quantifiable terms. How much easier does the stakeholder’s job get now that your solution has hypothetically been implemented?
In the end, there was very tough competition from many impressive projects. Some of those included:
- Adding real-time editing support for claim collaboration in our Snapsheet Claims application
- Interactive diagrams of the in-progress claim
- Introducing a support chatbot
The knowledge and experience were the real prizes, and each of us had something to take away. For Kazuhiro, that included: building rapport with engineers outside his team, being inspired by other people’s creativity and craftsmanship, and feeling a more profound sense of ownership over our projects. For Dave, it related to improving team performance by providing relevant insights and identifying the best ways we can provide value. For Deena, it was taking on a leadership role, keeping specific tasks time-boxed, and helping split up efforts.
The result wasn’t what we started with, but that was fine. Adapting and identifying opportunities enabled us to arrive at a solution we were satisfied with. Have you or someone else participated in a Hackathon? Were those experiences similar or different from ours? Let us know!