With the prevalence of virtual hackathons after COVID, many events have either started shipping their own swag and limiting the number of participants that receive them. At Major League Hacking (MLH) partnered events, many participants are no longer receiving the custom hexagon 'I Demoed' stickers due to shipment limits, or would just receive a generic hexagon sticker that is not event-specific.
I Demoed is a hackathon badge showcase service in SVG and raster format,
which can easily be included in GitHub readmes or any other webpage. The
service supports badge generation from a user's Devpost activity and custom
Try the service, or view the code.
Having attended many hackathons, I have become familiar with the hackathon experience. As COVID led to the shift to virtual events, I noticed that the swag given by hackathons have reduced and become less event-specific.It would be great to give participants a way to show their hackathon participation just as they would with in-person events. Specifically, I was thinking about the hexagon 'I Demoed' stickers prominent at MLH events.
With that said, the problem statement is:
How do we provide a quick and easy way for people to showcase their hackathon participation without requiring constant manual updates?
I had previously come across hexbin for storing digital hackathon sticker designs and ShieldsIO for showcasing dynamic data. I had the idea for a digital hexagon sticker wall created through an embed URL. I connected with my friend George to work together on this project, and he suggested using Devpost, a platform where most hackathons take place, to automatically find the hackathons that a person has participated in.
That was a great suggestion, since users won't have to constantly update their events. We decided to use NextJS for the service, and George wrote an API to scrape the Devpost platform to get hackathons for a Devpost user.
Using the software outline above, implementation was straightforward. We ran into minor hiccups with making our Devpost API more efficient, and using SVG's to send smaller images. We solved both problems by using Promises, running each operation concurrently then executing the next functions once all promises have been resolved.
The end result was a neat and tidy hackathon sticker service that syncs automatically with Devpost.
I deployed I Demoed at the end of December 2020, using stickers from the
HackathonsUK hexbin and the hackathons I've personally attended as a
starting point. Through the next few months, I would visit different virtual
hackathons and share this service with the participants.
A few representatives of MLH expressed admiration of the service, and we also received contributions from various hackathons with stickers for their events.