Inspiration
Having been to my fair share of hackathons, one main issue I noticed is that as a participant, information is typically conveyed through mass emails or physically at the hackathon itself. Emails are an outdated format, and I thought about using a newer, more robust form of communication: Telegram.
What it does
Telegram allows one to program Telegram bots, opening a world of possibility. Telehacker is a Telegram bot aimed at centralising all organisational aspects of a hackathon, streamlining the process for both participants and organisers. A Telegram bot offers significant advantages over the current norm:
Communication: Telegram is a faster, more convenient form of communication than the usual emails, able to update participants in realtime, while being ubiquitous amongst hackathon participants.
Telehacker communicates with participants in two ways, the first being a common group chat for announcements for all hackathon participants. The second allows for Telehacker to directly communicate with individual participants through Direct Message (DM). Telehacker will send and pin announcements, as well as respond to questions posed by participants in DMs. Telehacker also has preset commands to show information such as the schedule, rules and other logistical matters.
Queries: As of now, participants asking for assistance typically have to search for a organiser on venue, or await a response over email -- in big hackathons, participants may waste time searching in a large venue; in small hackathons, there may not be someone dedicated to these queries.
Telehacker uses Natural Language Processing (NLP) techniques to understand the context behind questions through identifying keywords, generating a response in realtime and eliminating the need for additional manpower to address simple queries. For questions Telehacker is unable to answer, it will flagged for the organiser to manually answer. This makes the Q&A process simpler for both sides.
Submission: Small organisers may not have the ability to host a website to consolidate submissions, and typically rely on third party software to gather submissions, which can lead to logistical errors.
Telehacker is integrated with Github, accepting links to Github depositories as submissions. Telehacker will vet submissions, rejecting irrelevant links or other unacceptable forms of media. Being able to submit projects directly though Telegram makes the submission experience far easier for participant. This also allows organisers to tap into Github's version control capabilities to ensure the validity of submissions, and make the code review process more transparent for both parties.
Feedback: Current hackathons typically use one of two methods: 1. Physical forms, which are troublesome to manage for large hackathons, and 2. Online forms, which some participants can miss out on (as previously mentioned in point 1, where information is not properly conveyed).
Since the entire hackathon is localised on Telegram, Telehacker sends polls in the main announcement channel at different points in the hackathon (in the middle, or at the end). This allows participants to engage with it more seamlessly, and well as giving organisers easier access to the feedback.
How we built it
Telehacker remains an idea, with no implementation to show, but will be constructed in Python.
There are two basic commands to separate roles:
!join !admin
Participants have six preset commands:
!schedule !rules !deadline !submit !help
And two more for organisers:
!edit !msg
1. Basic Commands
Using a state machine, upon first interaction in DMs, Telehacker prompts the user to input !join (for participants) or !admin (for organisers). Each hackathon will have a unique 6 digit code, and organisers will also be given an administrator verification code before the hackathon begins.
For participants. !join [hackathon code] allows participants to join the right hackathon. For organisers, !admin [hackathon code] [verification code] will transition to a administrator state.
2. Participant Commands
The first 3 commands will prompt Telehacker to reply to the DM with the relevant information as predetermined by the organisers.
!submit causes Telehacker to enter a text input state, first requesting the participant to enter their details, checking against the database of hackathon participants. Telehacker then enters a link submission state, only accepting Github links as a valid form of submission. Following this, Telehacker transitions to a media input state, allowing participants to attach relevant video/photos for their projects. If Telehacker receives an invalid response, Telehacker prompts the user to retry. Once the submission is complete, Telehacker will enter the acceptance state, forwarding the participant's submission to the database for manual review and judging.
!help will raise a list of Frequently Asked Questions (FAQs), and then further prompt the user if they need to ask a question. When the user types the question in, Telehacker uses Natural Lanuage Processing (NLP) to process questions posed by the user, and also flag questions it cannot answer with a high level of confidence to the organisers for manual review. As Telehacker is used in more and more hackathons, the quality of NLP will improve as interactions with users help the bot to improve.
3. Organiser Commands
!edit allows organisers to edit the content of the first 3 participant commands, and the information provided in these commands can be edited at any point during the hackathon to better reflect curveballs/other changes during the hackathon itself.
The !msg command allows organisers to send announcements/polls out to participants in realtime - organisers are additionally given the option to only utilise the main Telegram group, and/or send out messages to participants through DMs.
Challenges we ran into
One of the largest issues encountered was trying to centralise the entire hackathon process on Telegram, which is typically large scale undertaking, whilst not overloading on too many commands. Too many commands would be difficult to navigate for participants, especially first time users, and increases the chances of participants forgetting how to navigate Telehacker under high stress situations.
Too few commands would however also reduce functionality, so a balance had to be struck between functionality and robustness of these functions. In the end, five functions was decided as a perfect number for participants, being enough to cover all the necessities whilst avoiding unnecessary commands that would make the process less streamlined.
Accomplishments that we're proud of
Whilst the main challenge of building Telehacker into a functioning prototype has not been achieved yet, one thing I'm proud of is that Telehacker has attempted to cover every base of hackathon organisation whilst remaining lightweight in functionality. In addition, every function has been carefully considered to make sure it does not detract from the overall experience of the hackathon for participants and organisers alike.
What we learned
Transitioning a typically physical way of hosting events to a completely online version has made me realise the important of effectively communicating information between participant and organiser, and that to me is one of the hardest parts that many hackathons, even those with lots of funding and experience, will always struggle with if they rely on outdated mediums.
What's next for TeleHacker: A better way to Hackathon
Small quality of life updates that Telehacker may include in the future include pinned messages to act as a countdown for participants, prompting them when the deadline is approaching. In future, I will look into implementing code review software into Telehacker, possibly integrating into more platforms aside from just Github alone. In addition, gamification can be done to encourage participants to return for future hackathons, especially for organisations that host them regularly.
Log in or sign up for Devpost to join the conversation.