How to Join and Win Hackathons with AI

https://miro.medium.com/max/1000/0*LNcPz006b3qyUe4M

Original Source Here

How to Join and Win Hackathons with AI

My story of entering hackathons and how I learned to win at a high rate

Image by Juanjo Jaramillo from Unsplash

Hackathons have been my life for the last year. Staying up until 4 AM every weekend building advanced projects under a time crunch produces an unmatched adrenaline rush. While hackathons are surely enjoyable no matter the outcome, it is not the same without a win. The prizes and swag help validate the hard work and lack of sleep over a weekend. However, winning is not easy, and learning how to do so can take a long time. As a result, many new hackers become discouraged and don’t continue. Lucky for me, this was not the case, as I was able to quickly develop strategies that helped me be successful.

Hackathons are great for any aspiring AI/ML/DS students and engineers. They are a great way to practice your skills and learn new domains and frameworks, such as PyTorch and TensorFlow. There is a misconception that hackathons are mostly about app development and not about AI, however, as I discuss later in this article, this is far from the case. Therefore, if you are interested in working on your AI skills in an efficient way, give it a shot. I actually learned a majority of my AI skills from a hackathon where I built a skin cancer diagnosis app. So even if you have no AI experience, hackathons are a great way to get a light introduction.

My efforts were recently highlighted by Major League Hacking, as I was selected as one of the Top 50 Hackers (you can find my profile here). So in light of the recent news, in this article, I want to talk about my entrance into hackathons so hopefully, you learn that anyone with any background can do hackathons. In the second half of the article, I will give 5 tips and tricks for you to win hackathons. Hopefully, you find these helpful, and if you have any thoughts or additional advice, let me know.

How I Joined Hackathons

I originally joined the hackathon community back in early 2019, when I was a freshman in high school. In January, a friend and I were texting about a coding event she was attending at a convention center. It was called a “hackathon,” where you had 24 hours to build an entire app that solves a problem in society. I knew basic Java and Python at the time but had never built an app before. She spent the rest of the day describing her hackathon experience and her app, and before I knew it, it was 3 AM. The idea of staying up all night with coding buddies and building an app was fascinating.

In the next weeks, I did a quick google search to figure out what language apps were built in, and I found out IOS apps were built with Swift. So without any other knowledge or research, I started learning Swift for two and a half months to prepare for a hackathon. I tried to convince a few friends to do hackathons, but only one of them accepted. Luckily, a classmate with lots of CS background reached out to us. I didn’t know him well at all, but because I wanted to go to a hackathon so bad, we teamed up.

We signed up for 2 hackathons in mid-May, and I was excited to put my new skills to the test. Unfortunately, those hackathons both ended up being canceled, so I technically joined the hackathon 4 months later in September. We went to a hackathon called Omnihacks which was held in a trade school in downtown San Francisco.

We were very hyped; we packed sleeping bags and brought snacks in case, and the morning of we took the train up to the hackathon. Once we found out the theme was Healthcare, we decided to create an IOS app that allowed blind patients to read prescriptions with an OCR. We decided we would call the app Tickbird since tick birds are birds that help Rhinos traverse the world. The entire experience was a blast, as we goofed around for a big part of the day, attended some great workshops on ML, and hoarded snacks and food for ourselves. To cap off the weekend, we received a top 10 award and 2nd best mobile app, and from there on, I was hooked. The app was also surprisingly good for our first hack, and we were even able to get it on the app store after some structural changes. That weekend was the beginning of my hackathon career, and now 1 and a half years later, I am a seasoned veteran, and I am so glad I decided to attend that hackathon without even knowing what it was.

If you have any concerns or fears about joining a hackathon, my experience is hopefully an inspiration for you. I had no app development or AI experience when I started, but out of pure curiosity, I tried it out and was able to become very successful very fast. Trust me, it’s a great time, so if you are still in high school or college, I recommend you get into hackathons. Especially if you are an AI developer, you don’t need a whole lot of experience with app dev, as I had almost none. Just feel it out your first time and go from there. At worst, you will have a fun weekend with free food and merchandise.

5 Tips and Pieces of Advice to Win

1. Find a Trustworthy and Devoted Team

This is the most important tip. Over all other tips, this comes first. Having a team that is trustworthy and devoted to the improvement of the team are the fundamental qualities that set you up for long-term success.

I met one hacker a year ago from Seattle who was attending hackathons with random teammates each weekend. My biggest advice for him was to find reliable friends instead of new teammates each hackathon. Resetting with a new team each hackathon is a huge setback. You have to learn how to work with them and what they are good at, meaning there is no opportunity for long-term improvement. Even if you don’t know people who are familiar with CS or development, you can always teach them. In today’s world where there are so many resources, anyone who works hard can quickly have a large role on a hackathon team. Especially for AI, there are a multitude of videos and articles that teach how to code basic AI models, which means you can basically make a team with anyone who is interested.

If you want to be successful at hackathons for a long time, being able to split up work without any disputes or conflicts is key. When you work with people who are only looking to better themselves, there will be issues over who has what role. This creates a toxic environment where no one wants the others on their team to succeed. Teamwork is huge, and this is not only true in hackathons but in many other areas, such as sports or research.

I found a new team after a few hackathons because my first team could never be on the same page. I teamed up with my best friends from school, and while they didn’t have much experience, we were able to ramp up quickly. We all wanted each other to improve and cared about our collective success. Finding a team can be one of the most challenging parts of hacking and is often a huge deterrent for new hackers. If you remember any advice from this article, this should be it. Just work with anyone who you know is committed.

My team and I having a blast while hacking, increasing the efficiency and quality of our app (Image by Author)

2. Web Apps instead of Mobile Apps

Two of my first four hackathon projects were mobile apps. As I said earlier, the first application-based language I learned was Swift, not HTML/JS/CSS. This was a big mistake, as what I’ve learned is that building UIs on mobile apps is much harder than web apps. This is because using web app templates built with Bootstrap is allowed. However, these types of templates don’t exist for mobile apps, or for free at least. The UI is a major component of your hackathon project — it is what draws eyes to the project. A project with a bad UI is often a bad project, as it creates an impression that the hackers don’t have much experience.

Web applications are also much more versatile for including other components, most notably AI. I do a deep dive into why AI applications are a must in step 5, but for now, all you should know is that using AI or even other technologies is much easier to do with web apps. You can use other backend frameworks to host your models, such as PythonAnywhere or Heroku. However, with mobile apps, you have to learn how to use CoreML to integrate your AI into the mobile apps, which is a hassle and often doesn’t work correctly.

The most important reason to create a web app is that it allows the judges to live test your application. With only a video demo, the judge is left wondering how the application feels to use. With a mobile app, there is no way for a judge to ever test it. With a web app, fortunately, it can easily be hosted on the internet with free services such as Netlify, Heroku, or Github Pages. Live testing creates a sense of confidence with the judges and makes them appreciate your application more. Switching to web apps from mobile apps was one of the most important changes that my team and I made, as it yielded us evident success.

Mobile UIs do not look nice — The fonts don’t even match (Image by Author)

3. Ideas over Implementation

One big mistake that I always see new teams making is that they focus too much on trying to make their app functional. As beginners, they believe they have to make fully functional applications and therefore come up with a simple idea. Then they end up spending most of the hackathon building an authentication system with Firebase instead of coming up with unique features.

This is a huge mistake, as no judge cares about whether or not the app has an authentication system. The goal of a hackathon is easily misinterpreted. Since it is known as a CS activity, people believe code is most important. However, hackathons are more about entrepreneurship and ideation. There is a simple reason for this: 24 hours is simply not enough to build a functional app. Any hackathon judge knows this. What is truly impressive is not whether the app works but if the app has the potential to change society in a unique way. As long as the app isn’t entirely faked, judges know that if the team wanted to they could take much longer and make it functional. Then the app would have value in a real market. However, a subpar idea with complete implementation in 24 hours isn’t worth much in any market.

This is specifically important for AI developers, as it is very hard to completely implement an entire model in such a short time. Often, training a model alone can take hours. AI developers might also be in the mentality that they need to build accurate models, but this is also not true. Most judges understand that models will not be accurate, but they are alone impressed by a strong concept, even if it doesn’t work entirely as intended.

One of my earlier projects had a login page as a major feature (Image by Author)

4. Presentation Matters

Once every hackathon ends, I take a look at the project galleries to see the projects I am competing against. Since there are so many projects, I take a quick glance at their video demo and write-up to see if the project is good. If the write-up is short and not descriptive, or if the video is low quality without a script, I skip over it. I have yet to see one of those projects win.

The reality is judges think like this as well. There are so many projects to judge, which means not all projects can get a full review. So, if a project has a poorly written description without much technical detail, or if the presentation has multiple stutters and looks like it was done in a single take, why should they expect the project to be good? Impressions matter, not only in hackathons but in life in general. As an AI developer, make sure to use your AI knowledge to your advantage. You have probably learned that being able to explain AI to people is very impressive. Even if you were not able to finish building your model during the hackathon, you can always draw a diagram and explain how the implementation would have been. This will “wow” judges and make you seem like you are the best team.

While we couldn’t completely implement our models, we drew a diagram of the planned implementation (Image by Author)

Make sure during your hackathon, you allocate enough time to actually preparing a strong presentation that details all the technicalities of your project and the problem you are addressing. It is sad to think that so many great, technically complex projects don’t get recognized simply because the presentation was bad. However, it is a lesson of life that the way you present yourself and your work is everything. Simply put, the project is only as good as it is made to seem. This works both ways even, if your project isn’t that great you can gas it up and make it seem amazing.

My presentation of Tickbird at my first hackathon (Image by Author)

5. AI is the New Meta

This is last for a reason. Around the end of 2019 and the start of 2020, almost all winning projects became AI projects. When I was researching winning projects in 2019, most of the winning projects did not use AI. But for some reason, right about when I began learning and using AI, so did everyone else, and by the summer of 2020, any project that wanted a chance of winning had to use AI. This is due to the widespread democratization of AI education and resources. AI is by far the most advanced and technically advanced framework or tool that hackers can use, so if you aren’t using it, you won’t be able to compete.

If you don’t know AI, which I don’t assume is true since you are on Towards Data Science, this shouldn’t be discouraged. There are so many resources, including all the articles on TDS that you can use as a baseline to learn. Spend a few hackathons doing basic beginner AI projects that others have done. While you might not win, you will get critical experience and learning opportunities that will set you up for monumental and continued success in the near future.

All my projects (except Tickbird) use AI (Image by Author)

Final Thoughts

Hackathons are an enjoyable activity for anyone involved in CS or AI. Working with others over weekends to create amazing projects that not only can win awards but can help you in your career pursuits is something that all AI developers should take on. Even if you have no experience, don’t be deterred, as I joined with absolutely no idea what I was doing. While the community can be somewhat toxic and competitive, if you work with people you appreciate, you will have fun. So if you aren’t a hacker, try one out. If you are a beginner hacker, check out my tips and story so that you can be a winner as well. Thanks for reading.

AI/ML

Trending AI/ML Article Identified & Digested via Granola by Ramsey Elbasheer; a Machine-Driven RSS Bot

%d bloggers like this: