Create A Hackathon Submission Platform For Free With GitHub

This post has been republished via RSS; it originally appeared at: Microsoft Tech Community - Latest Blogs - .

Author Intro


Hi, I am Aditya Oberai, a graduating Gold Microsoft Learn Student Ambassador, Computer Science and Engineering graduate from Amity University Uttar Pradesh in India, and a Developer Advocate at Appwrite. I've spent the last 3 years contributing to and supporting tech communities and hackathons in India and beyond, and I am really grateful to be able to help people use tech to help themselves every single day.


MLSA Profile.png

Problem Statement


I spent a major part of my student career organizing, participating, and mentoring at hackathons. One of the most common issues in the hackathon world that organizers come across is having a simple way to accept and manage project submissions from their participants.  Hackathon platforms are becoming more and more expensive to avail (plus they require you to provide a substantial amount of personal information to these organizations). The truth is that not every organizer has the technical knowledge or time to build out their own platform.


In these times and circumstances, however, the use of code collaboration platforms, especially GitHub, has grown to a point where it's second nature for most of us to work together on. So I thought, why not use this platform that we all use and love to enable hackathon organizers to better support their communities?


And thus, the hackathon submissions platform GitHub repo template came to be.




How The Platform Helps Hackathon Organizers


The hackathon submissions platform here solves 3 purposes:


  • Create a hackathon information page to share all important details
  • Easily collect project submission and team member details
  • Maintain transparency around the submissions and information collected from participants

It's rather convenient to use because, being a template repository, anyone can easily create a copy for themselves and tweak everything ranging from issue tags to submission requirements in the issue form. Moreover, the repo also contains a Python script that allows the organizers to export links to all the project submissions to a CSV file. 


And it doesn't just make life easy for the organizers, but the best part is that the GitHub issue form used to collect submissions provides the participants with a very clean interface to submit their details with placeholders and instructions, allowing the organizers to receive their submissions in the correct format for judging as well.



Challenges I Faced When Building This Project


Of course, no new initiative comes without its challenges and I did experience some as well.


  • Defining the right template submission form

    Creating the submission form as an inspiration for further usage was definitely tricky because I had to find the right balance between maintaining comprehensive submissions to benefit the judges and allowing ease of usage for the hackers. To solve this, I looked back to my previous experiences as an organizer and hackathon judge to decide what information was relevant and what was not. Using those experiences, I created the best flow I could that would ensure that hackers provide all the necessary details about their projects (such as project description, inspiration, tech stack, repo link, and demo video) while keeping as lean a form as I could to not overwhelm them.
  • Understanding GitHub Issue Forms

    I have always loved projects that use GitHub issue forms for the creation of issues and reporting enhancements or bugs because of the clean UI/UX issue forms offer. Creating an issue form for the first time was definitely a little challenging at the start, but the GitHub documentation on the same really helped me understand how best to use the different types of fields offered, such as single-line fields, larger text areas, dropdowns, and checkboxes, to create a quality submission experience.

  • Using the GitHub API

    In order to allow organizers to export submissions for further information management and judging, I had to leverage the GitHub API. Since this was my first experience doing so, I had an interesting time reviewing existing code samples and the API documentation. Using these, I was able to come up with a Python 2.x script to export issues from the repo (which is where the submissions were being created). Rishit Dagli, a fellow Gold Ambassador, helped upgrade that to a Python 3.x script, which is the one finally available in the project repo.



I had a wonderful time working on this project to help my fellow hackathon organizers create better experiences for their hackers, and I hope more folks will try it out soon. Thank you so much for reading, and hope you have a great day ahead!

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.