My first hackathon experience!

58 hours of tireless coding and one brilliant hack!

Asavari Ambavane
Developer Students Club, VJTI
6 min readNov 5, 2021

--

The beginning

It was a normal day when one of my friends(a super talented programmer) approached me to participate in this hackathon. By this, I mean DevFest 2.0. It is a week-long, completely online technical fest organized by DevSoc, Developers’ Society, BITS Pilani, Goa campus. After 2 days of going through Quora answers on “How to prepare for hackathons?”, “What are hackathons like?” and stressing over the fact that I might just faint in these 58 hours, I sat down in front of my laptop screen at 7.45 am on the 14th of August 2021.

Making the choice

We received the problem statements at around 8.10 am and in no time we were on a call discussing the topic to choose and brainstorming ideas for putting together a decent hack. We were given a choice between domains like fintech, health tech, ed-tech, etc. Some of the topics were ‘Design a portal for content creators to view their statistics’, ‘Make a portal for finance companies’, ‘Online lectures can be difficult for students, think of fun ways for them to study’, and a few others along the same lines. Among all the topics we were given, we found that we had maximum ideas for the problem statement under the health tech domain so we decided to go for it. We chose to go with a web interface because it reflected our idea in a better way as compared to an android app. Besides that, my teammate and I were both proficient in the MERN stack and thus it seemed like the right choice to make.

We immediately got to work since we knew we were going to have to put the pedal to the metal if we wanted to implement all that we had planned for our web app. Our problem statement was -

Epidemiological studies have become necessary for governments all around the world. But along with the vast data collected to analyze for such studies, a sense of privacy of citizens and anonymity is also necessary. We have to create anonymized health trends/dashboards for epidemiological studies.

Day 1

Our first step was to collect data on all past and ongoing epidemics like Covid-19, Cholera, Malaria, HIV, H1N1, Ebola, etc. This was the toughest part, we searched for APIs all over the internet but only found a few CSV files with a little data. We had to make do with that, so we used pandas library in python and got all the data in the format we wanted. While my teammate cleaned up the data, I made the homepage of the web app.

By noon, we had collected all the data we needed. Then, we started working on all the epidemic portal pages. Our main goal was to provide all kinds of statistical elements that could best represent the data we had. We searched for graph packages having bar charts, pie charts, and most importantly geo graphs. We were really satisfied with the way it turned out.

pie charts and statistics for each disease portal

After countless hours of setting up charts, I searched for APIs having disease names, symptoms, and remedies. Unfortunately, I didn't get one but I found an elaborate JSON file having a huge number of diseases and their symptoms. We decided to use that. We mapped over the list and came up with a great UI with elements like pagination and full-text search to add to the functionality.

disease names and symptoms cards

Day 2

The next day, we worked with authentication and features accessible to authenticated users, such as creating and sharing experiences. We wrote a neat and elaborate backend structure for sign-up, login, and posting articles. Technologies used for this part were nodejs, express, react, and redux. On successfully linking all the functions to the frontend, I was in awe of how amazing our web app looked. It had an open forum page with two kinds of sorting filters and even a “like” option. It even anonymized user names by giving them a funny randomly generated alias for eg. “Spectacular Beaver”! Isn't that cool?

forum section having posts by all users

After a hectic second day, we had completed everything we had on our agenda. Honestly, I was dead tired by the end of this. One never realizes that coding for 10 hours straight for 2 days without breaks is probably as tiring as actually going out and playing a sport.

Day 3

We still had 8 hours to spare which I thought was a decent amount of time for adding a new feature. I found some statistical country-wise data of parameters like “Maternal Mortality Rate”, “Life Expectancy” etc, and decided to create a separate portal for all these parameters. My teammate and I spent the next 3–4 hours parsing the data, converting it to JSON, and then mapping it over the graphs.

country-wise health statistics graphs

Final steps

We strategically spent the next 2 hours cleaning up and making our code neat. We added comments wherever necessary to increase the readability of the code. My teammate added all the 404 error pages because what is better than a good user experience! We wrapped up our project with still 2 hours to spare as planned. Now since most hackathons require a presentation video describing the final outcome, we started to prepare for recording the same. We split up the content to speak and recorded it individually. While my partner put together a fantastic video of our project, I worked on the documentation. Finally, we were done with everything we had planned and more in record time. We submitted the project 10 minutes before the deadline.

Some important tips that one should remember during a hackathon are -

  • Keep hydrated — keep drinking water at regular intervals, it helps our brain function efficiently.
  • Do not skip any meals — sometimes we get carried away with the pressure and constantly keep thinking about the time we have left. Due to this, we tend to forget about eating and drinking. DO NOT DO THAT. Nourishing yourself helps you get through the stress.
  • Take small breaks when you feel like it — there were definitely times in these 58 hours when it felt like my brain had stopped functioning. When this happened, I used to unwind, take a break, lie down and listen to some music. Anything and everything which will keep your mind off the hackathon for a few minutes (15–20 mins) helps the best!
  • Make sure you plan your strategies such that you complete everything according to schedule and still have time left for final changes like code inspection, video recording, documentation, etc.

That feeling of satisfaction

My eyes barely stayed open and my fingers hurt from typing away at my keyboard. The metallic taste which comes from not getting enough sleep still lingered in my mouth. My mind physically hurt from being strained so much. But despite that, there was a feeling of satisfaction that overpowered any ache that I had. After countless calls and tireless coding, I was beyond thrilled that I had completed this hackathon and I had a brilliant hack to show for it.

Turns out, the quora answers were right after all. These 58 hours were so tiring and yet so much fun. This was my very first hackathon and I really enjoyed every second of it!

Results rolled out after a week and unfortunately, we didn't secure a rank among the top 3. But, we still got in the top 25 list out of all the 85 submissions! This project remains close to my heart and is definitely one of my favorite projects ever!

Project link: https://epinfo-vaptured-terror.web.app/

Video Link: https://youtu.be/NBMyb2cpYH8

Thank you!

--

--