Running a Successful Remote Hackathon

Rasna Tomar
Bluecore Engineering
9 min readOct 5, 2021

The shift in the working paradigm due to COVID has revolutionised the way we collaborate with each other. The remote-first work environment has made it possible for teams across the globe to come together and learn from each other more so than before. Last year was our first remote hackathon at Bluecore and this year we applied learnings as we held another season of our remote hackathon.

Hackathons have always been an integral part of Bluecore culture so that people across teams can come together and collaborate through idea sharing and brainstorming to accomplish common goals. Many products that are productionized have evolved from our hackathons as we identify solutions that complement existing products and services. Better yet, it’s one of the events that uplift the company culture and bring inclusiveness to the organisation.

Hackathons at Bluecore are time-boxed events: two days where teams work on conceptualizing the idea into proof of concept to check for functionality, feasibility, and alignment to its goal. One day is dedicated to hacking and the other for demoing projects. Nearly 37 ideas were transformed into 15 projects, including Smart A/B testing, ML Models to generate complete outfits, Quantum Recommendations, Demand forecasting using BQML, Open-time personalization, Caching and request merging reverse-proxy for ElasticSearch, to name a few. These projects are tangible and have impact on our organization and our customers by improving existing services, and by unlocking the potential to bring Bluecore’s personalization intelligence across customer’s platforms for a consistent multi-channel marketing experience. Check out our detailed blog post on last year’s Remoticon2020 here.

A successful hackathon requires a ton of effort, organizing, and planning. Depending on the scope of the event, it can take anywhere from four to seven weeks, so we started planning two months prior to the event. The backbone of any event is the team of volunteers who make it viable in the end. There are different roles that volunteers take up such as Orchestrators and a Master of Ceremony (MC). Orchestrators do the task of planning, guiding the judges, designing and communicating details of the hackathon, whereas the MC hosts the entire event on the demo day.

Gino Knodel, Staff Data Scientist explains quantum recommendations.
Zahi Karam, Director of Data Science explains a model to generate an outfit.

Setting up a Theme

Hackathons must have a theme or a goal in mind. So, the first step in planning a hackathon is to come up with a brilliant theme around which the whole event revolves — it should be comprehensive so that prospective participants can swiftly come up with the ideas about what they would like to build during the event and that encourages ideas to naturally gravitate towards a goal that is critical for the company. In the past, we focused on themes: cutting cost, developer velocity, product reliability, “vision” (increase insights and analytics into our systems). Our 2021 hackathon theme was titled “Imagine the Possibilities” to honor one of Bluecore’s new cultural values. Thematically this meant: “Bring your moonshot ideas and see what you can make happen. When building something we should not confine ourselves to the current state of the problem we are trying to solve; instead we should stretch our boundaries and embrace the possibilities that come with it.”

Michael Hurwitz, Principal Engineer explains how to reduce duplicate requests to ElasticSearch.

Building Anticipation

There are different ways to convey information about an event, be it on slack channel and/or over email and/or during a Zoom meeting that is likely to be attended by the majority of people in a company such as R&D meeting, sprint review meeting, or town hall. You need to make sure that you are able to promote your hackathon to all the potential contestants in an exciting way. You can create an official Slack channel where people who wish to participate can share ideas. You can also put together resources related to previous hackathons such as ideas and presentation videos to give hackers an idea about how hackathons work. This influences people, but also encourages them to participate. Without participants there is no hackathon. In these resources, communicate the hackathon timeline like dates of the event, officially kick-off time, presentation date, and time well in advance.

Charles Wheeler, Forward Deployed Engineer explains how to detect code reuse in partner repos.
Daniel Mantica, Data Insights Analyst explains demand forecasting using BQML.

Forming Teams and Brainstorming Ideas

The objective of hosting a hackathon is that everyone should participate, not just engineers. Research and Development (R&D), Product, Forward Deployed Engineers (FDEs) and even Customer Success Managers (CSM) can come together to work on creative ideas. This helps to increase sign ups and encourage teammates to create a marketplace of ideas so that anyone can pick up any potential idea. It is advised to potential participants to start looking for teammates soon after the hackathon announcement and start pitching your idea to them. Anywhere between one and five members is a good number for a team size. We discouraged solo teams as the purpose of the hackathon is to innovate and collaborate with other Bluecore employees.

Once you have received a fair number of sign ups, organize a brainstorming session to come up with ideas that can turn into potential projects. Here, you can also educate newcomers about what the hackathon is. Facilitate a structured ideation process to welcome ideas from all teammates, not just from those who signed up to participate or product managers. Customer empathy is the key driving factor in brainstorming ideas for a hackathon. You can hypothesize ideas without restricting yourselves to what can be transformed into a project and whatnot can be transformed into a project. This process helps in building a repository for ideas. This not only increases the number of ideas but also helps to improve projects that can become MVP for a company or even production ready project. As we know, everyone is creative but not everyone is good at coming up with ideas, so finding inspiration from the marketplace of ideas assists those who are looking for a right idea to indulge in without being certain of what idea they can suggest.

Andrew Klein, Senior Software Engineer explains open time personalization.

Defining Judging Criteria and Selecting Judges

After you have set up a theme, officially announced the event and facilitated team formation, the next step is to define judging criteria. This is important in deciding on what basis the winner will be chosen. It lays the ground rule clear among participants that what will be the expectations of judges while deciding the finalists. There are different criteria for judgement such as relevance to the theme, innovation, technical feasibility, business value, completeness, execution, design, extensibility etc. At Bluecore, we defined three criteria based on which judges assigned a score from 1–10 to choose the best projects.

  1. Relevance to the theme — how well the project is aligned to the theme?
  2. Impact — how much impact will the solution make?
  3. Execution — how well executed the project is during demo?

Once you have set the judging criteria, then define a judges rubric that helps to guide the judges on what qualifies as a winning hack and enables them to vote easily and come to a conclusion.

Judging is not an easy task and choosing judges can be tricky. The best strategy is to have a panel of stakeholders from diverse fields within your company. You can have assorted experts from an engineering, product, marketing, sales, customer success, and finance background. The number of judges that you choose depends on the scale of the hackathon, but anywhere between three and six is a good number. All the judges should be given clear instructions about the event. It is also important for them to arrive on time in the event to carry out their responsibilities swiftly.

Selam Tegegn, Software Engineer explains an idea to modernize precomputed attribute rank.
Noam Soam, Software Engineer explains an idea to modernize precomputed attribute rank.

Kicking off the Hackathon

As we’ve said before, promote the hackathon as much as you can — encourage people to find inspiration from a repository of ideas to join an already formed team or pick up a completely new project that aligns with their skills. When the hackathon kicks off, it is essential for organizers to assist the participants if they need help in something or they are blocked due to technical issues. During offline mode, there are a lot of planned activities to entertain the participants. Whereas, in a remote-first working mode, it is difficult to plan these activities. Despite these challenges, Bluecore remote hackathons do not lose their charm as engineers are equally excited in virtual hackathons and hack in over Zoom calls to build their prototype. To induce fun, at the end of the presentations while judges were deciding winners of the hackathon we had a little chit chat session to break the silence. We also asked the audience about how they felt about the whole event in general.

Ankit Kumar, Software Engineer explains smart A/B testing.

Demo Day and Awards

The most exciting part of the hackathon is demonstrating work to the panel of judges. It is the chance for all the teams to see what others have accomplished. The demos usually take around two to three hours, depending on the number of teams that participate. Since this is a time-bound event, every team is assigned some reasonable time to present their project, explain the impact and relevance. It is the job of the MC to keep track of time and invite each team one by one to present their work. After all teams have presented, it’s time for the announcement of the results.The panel of judges can choose the best solutions by referring to the judges rubric, and name the winners across different categories such as best theme, highest total score, highest impact, and people’s choice — just to name a few.

Rasna Tomar, Data Scientist explains customer segmentation using BQML.
Alexa Griffith, Software Engineer explains the TODO app.

Key Takeaways

Any event that happens with perfection is a myth, if it turns out to be the perfect one then learning stops then and there only and barring any scope of improvement. Continuity is the key to success, so find ways to improve the next hackathon, have a retro, make lists and things to consider so that next time you don’t have to reinvent the wheel and you won’t forget any details. Something like: “Much like a theatrical play, you need to anticipate the needs of the audience and make sure you have enough staff to handle things behind the scenes. You should show up to the hackathon date with very little left to do other than carry out with the responsibilities you planned on having and addressing issues as they arise.” This year’s hackathon gave us plenty of opportunities to learn as learning is a continuous process, and we are ready for the next one.

We have prepared a cheatsheet from our experiences and learnings that you can use when organizing a hackathon:

Cheatsheet for Running a Hackathon:

  • Pick a theme and dates
  • Set boundaries (limiting team sizes, days hackathon will be on, and how long the hackathon will be)
  • Announcement of event and pre-hackathon meetings (email, Slack, and company meetings)
  • Create a market to exchange ideas (Google sheets or equivalent)
  • Elevator pitch event to encourage Ideas and creating teams
  • Have teams come up with team names so it’s easier for people to remember what projects are
  • Select judges
  • Decide prizes (get finance involved early)
  • Create method for judges to vote and come to a conclusion
  • Templatize the host’s slides for hackathon presentation
  • Have all participants come prepared with all of their environments and setups ready prior to hackathon
  • Host the event and declare winners
  • Have a hackathon retro
Arthur Herbout, Data Scientist explains object detection on product images.
Michael Myung, Forward Deployed Engineer and Extensibility Engineer explains how to make personalised product recommendations exportable.

Keep hacking folks :)

Interested in helping scale our platform as we continue growing? We’re hiring at Bluecore!

--

--