Redesigning Gavel

Improving the look and feel of a functional marvel

Muhammad Khatri
Hello Asterisk.

--

October 8th, 2019

At Asterisk, we’re huge fans of the popular HackMIT-developed tool Gavel. It’s an awesome application of mathematics and programming alike that results in a simple, straightforward, and easy judging process. We’d even go so far as to say that it revolutionized how judging works in our events and how we think through and plan the judging process. As an organization that runs hackathons for a living, anything that makes our lives easier and less hectic is a good thing, and Gavel has proven many times over to do both — it removes a complicated judging reconciliation process, is entirely web-based, and easy to set up and configure.

Images of the “classic” gavel experience.

The Premise

However, throughout using Gavel at dozens of hackathons and running multiple successful judging sessions, we identified a few key flaws in the system and its design:

  1. The user interface is confusing and hard to use intuitively if the judge doesn’t read the instructions (which they often can’t be relied upon to do).
  2. Judges often don’t understand which project is which or don’t understand how to choose properly.
  3. There’s no method to flag projects that don’t work, are offensive, or are just someone’s Ph.D. research presented as a hackathon project.
  4. Skipping is an opaque process and given equal weight as voting. Thus leading to confusion among the judges.
  5. Gavel is impossible to use effectively without properly training judges. Something that we often don’t have enough time to do.
  6. The admin interface doesn’t update automatically and oftentimes valuable information can be obscured if the user forgets to refresh the page.

The Delivery

So, after months of development, we’re excited to release our fully open-source and free redesign of Gavel for use at your next hackathon. We’ve tested this version of Gavel in the wild at our flagship event, HackDFW, as well as several other events we’ve hosted since then. This version of Gavel runs fine on a free deployment of Heroku, but for the best performance, we recommend deploying it using GCP or AWS to take advantage of more resources.

Admin Dashboard for Gavel displaying the table of projects, their descriptions and additional features.
Left: Introductory paragraph. Right: Admin dashboard.
Left: Name & description of current projects. Middle: Selecting the better project. Right: Flagging a project.

The Results

Our fork of Gavel features the following improvements:

  1. A complete and thorough overhaul of the administrator and user interfaces
  2. New selection method that adds more steps to ensure users understand what they’re choosing.
  3. Additional two-step instruction process requires confirmation of reading the instructions before judges are released.
  4. A Flagging feature that allows administrators to manually validate projects that may break the rules of the event.
  5. New skip type is added that better clarifies what skipping should be used for, and allows judges to select a skip type that better fits the situation.
  6. Skips for “project not at the table” are flagged so the administrator can validate their presence.
  7. The admin panel updates automatically without having to reload the page.
  8. The average number of projects seen per judge is prominently displayed on the admin panel.
  9. Judge and project information is accessible through dynamic modals instead of removing you from the main admin screen.
  10. The ability to “soft close” the session where judges are allowed to finish their current round of voting without interruption.
  11. Projects and judges can be added individually or en masse using CSV files.

We strongly believe that these improvements to Gavel make it easier to use for everyone — hackathon organizers and judges alike. We’re big advocates for technologies that make hackathons better, which is in line with the spirit of these events — producing technologies that can make the world better. We can’t wait to release more of the tools that we have and are currently developing to help make your hackathon even better.

The Resources

Alongside improving the look, feel, and usability of Gavel we’ve added some functional improvements as well.

  1. A more detailed and easy-to-use documentation site (W.I.P) for better guidance through the setup and usage of Gavel.
  2. A package manager called Pipenv that provides a more secure and deterministic development environment.
  3. A Dockerfile, and public image registry for containerized deployment.
  4. A docker-compose file for Redis and PostgreSQL to improve the developer experience.

Please let us know if you have any questions or comments on the tool by emailing us at (hello@weareasterisk.com) or by leaving comments/pull requests on the GitHub Project.

Written by Muhammad Khatri, Staff Software Engineer

Twitter | Facebook | Instagram

--

--