A few months ago, I attended my first virtual hackathon. While I had an idea of how hackathons worked, having briefly attended an in-person one, working with an online team to build an app in limited time was a completely different challenge. Here’s how the virtual hackathon was set up, and a few lessons I learned along the way.
In 2018, I had the chance to attend my first in-person hackathon. Due to a family emergency, however, I wasn’t able to complete it. The brief time I was there gave me some insight into how hackathons are conducted, and the idea behind it really excited me.
A few months ago, I saw that Geekulcha, an organisation that frequently runs hackathons, was hosting a virtual one. Seeing the tech we would be using, the support that would be available for teams, and the prize up for grabs, I knew this was something I wanted to enter.
Two things really stood out to me:
- We would be working with Ayoba – a free Android messaging app from MTN – and building a microapp to function within it. I had never worked with something like this before, so I saw it as a great learning opportunity.
- Secondly, the nature of the challenge would give me the chance to turn an idea that I had had for a while into a reality. I had been thinking about building a food delivery app via WhatsApp, or a similar messaging app, for township restaurants. With focused time, and the support of a small team, I could actually make this happen.
I’d like to share with you what my experience of the virtual hackathon was like by looking at the following things in more detail:
- How the hackathon was set up and why I found that so helpful
- Insight into the app we built and how we structured our team to win
- What I learned from the experience as a whole
Since the event was online, the hosts at Geekulcha made sure to communicate with us frequently over email in the run-up to the event, so that we had all the details we needed. I appreciated this, because without face-to-face communication, it’s easy to miss or not see important information, and leave attendees confused.
We also had two Zoom calls with the hosts before the event where they introduced the product we would be working with, as well as its APIs. This meant that we had an idea of the challenge in advance, and could work out a strategy before the event kicked off. I felt that this was important because, again, working with a team remotely while under pressure could have left us overwhelmed because communication online is always harder.
After speaking with a few of my developer friends, we decided that the funding we’d get through the cash prize would allow us to turn the food delivery app idea into a business. After the Zoom calls with the hosts from Geekulcha, we spent some time planning our architecture and assigning roles before the hackathon started.
Hacking away — online!
When the hackathon finally arrived, each team was assigned a Slack channel where they could reach out to the organisers directly at any point if they needed support. To further streamline this, there were two different groups you could reach out to on the channel – the organisers managing Ayoba and technical support, and the organisers available to help with submissions and other hackathon-related queries.
I had never worked with the tech before, but knowing that there was help easily available set me up to feel confident before we got going.
Building our idea
We had from Friday afternoon until Monday morning to complete the challenge. Once the event officially started, my team and I had a quick check-in to make sure we were all ready to get going.
Ideally, we wanted to build an app that allowed people in the townships to access food delivery from local restaurants easily, using a platform that they were already familiar with.
Because food delivery involves a restaurant, a customer, and a delivery agent, we had to think about how the app could support each parties’ needs. Our plan involved building out:
- A microapp within Ayoba, that customers could use to view nearby restaurants and place orders
- A POS dashboard for restaurants to see orders and process payments, and
- A delivery extension to help the delivery agents
This was quite a lot of work to get done during one weekend, especially since we were working with tech we didn’t have much experience with.
Instead of all of us trying to do everything, we decided that the most effective way to get it done would be to assign one person to focus on each major task over the weekend. We assigned the following roles before the hackathon started:
- The API builder
- The microapp builder
- Setting up the delivery app – we chose to use an ‘out-of-the-box’ app because of time constraints
- The admin dashboard builder (who was also tasked with designing the powerpoint presentation for the end of the hackathon)
Taking this approach meant that communication was easier – we knew who was working on what – and we could each get deep focus work in, which is key for progress.
The challenge was interesting, but also very hard. We ran into a few problems — for example, one of our teammates had to drop out over the weekend, and our microapp also kept failing due to having to use local storage for our carts — and thus didn’t manage to build what we had hoped for.
Even though we didn’t have the result I had expected by the end of the weekend, I learned some valuable lessons that I could take forward, from the feedback given to us by the organisers, as well as from the experience as a whole.
Lessons from my first virtual hackathon
Once the hackathon concluded, the top five groups moved into the next phase to compete for a spot in the top three.
We didn’t make the cut, but I was impressed that the organisers made sure to give every group feedback to help them improve next time.
Most of the feedback we received revolved around our solutions not demonstrating how they solved the delivery app problem well enough.
Also, I found it interesting that not including our personal credentials in the final presentation counted against us – the organisers noted that including those would have helped give our team a competitive edge that could have pushed the project further.
Learning from experience
I walked away from the virtual hackathon feeling like I had learned some valuable lessons that would definitely help me both in my career and with my side projects.
- I learned a new framework: Before the hackathon, I had never worked with AngularJS, so figuring out how to use it in the tight time frame was a big achievement for me. I have since been using it for a side project because of the experience I got from the hackathon.
- I built the entire API using Node.js: This was the first time I have built something so large with this framework. Before, I would have used Rails for this. I have since applied this skill on the latest version of earlybirds.co.za.
- I got my developer friends to invest in an idea that has real business potential: Getting my friends on board to help me build an initial prototype was exciting. As someone with an entrepreneurial mind who likes testing out ideas, it was exciting to learn how to sell a value proposition to others.
- I broadened my thinking about ways to help serve my community: I want to help solve accessibility issues in townships, and believe that my app idea is one simple way to start doing that. Having the chance to think about the different parties such an app would serve helped me better understand different users’ perspectives. This understanding is something you need when you want to help someone effectively.
In conclusion, I would encourage anyone who is at all interested in hackathons to find one and attend it if you have the capacity to go. There is always something you get out of the experience. It shouldn’t only be about the prize: From my personal experience, the skills that boost your career capital are just as exciting and valuable.