On Winning Our First Hackathon

After winning the first hackathon that I had participated in, I thought it would be good to share some thoughts on how exactly my team achieved the feat. And no mean feat it was! This being my first hackathon, I had no experience going in, except from the general advice I write on my blog in an article entitled ‘Hackathons Are Cool’ . Of course hackathons are cool, but what are they really?

Firstly, hackathons can go on for between 24 hours to 48 hours, or longer. They are marathon coding/building sessions where software or hardware is put together by a team consisting of designers, engineers, developers, etc., to produce something stunning (and to win prizes of course!). So how did I find out about hackathons?

I try by all means to keep abreast with developments in the I.T space. I think I first heard about hackathons through reading articles about the hackathons put together by the likes of Facebook and Google. All of that was happening in the USA and hadn’t really kicked off in South Africa, so I was pleasantly surprised last year to see that the hackathon scene in South Africa was hip and happening. I even asked on Quora, a question-and-answer website, ‘Where can I find hackathon events in South Africa?’ and didn’t get the responses that I had expected. I therefore decided to be patient and start my search for hackathons through Google and Twitter at the start of the year (start early and catch the earliest bird, that’s what I say!).

Eventually what I had been waiting for happened in the form of the “Standard Bank Female Hackathon”, which took place on the 19th to the 20th May 2017. It was going to be a 24 hour event. I was so excited! I think I was probably one of the first people to sign up. So let’s get into the moral of what I learnt over that weekend.

Have a workable idea

We were given three themes to work with, namely “Township Economy”, “Education” and “Finance”. Each was centred on making life easier for township dwellers. We chose Education – early childhood development to be precise as we felt that early childhood development was not prioritised in education. There is generally a lack of parental involvement and crèche is not seen as a learning environment, especially in the township. So that was our problem statement.

The solution which we felt best addressed those issues was to create a platform to build learner and teacher; peer-to-peer; and parent and child relationships. Learners would get to do their activities at home and in the classroom. Assessments would be made fun and the learners would take on their peers in leaderboards. Also, teachers and parents would get to monitor the child’s progress.

We felt our idea was workable in that it was also sustainable beyond the hackathon. We also felt we had what it took to execute the idea during the hackathon and produce a working solution at the end of the allocated time. Our idea addressed a real issue within the community. It met the briefing criteria in that it was viable, technologically and otherwise.

Forming a great team

My definition of a great team is a team with a positive attitude. We did not really have a pitching session to sell our ideas to the entire group of participants. Instead, we kind of found each other at the event by just being friendly and greeting each other and gravitating to one another.

We were a team of four. Two of the group members are students studying I.T, myself in HR (previously a professional developer) and a mechanical engineering student. All in all, an awesome dynamic quartet! We started off by each coming up with ideas and then brainstorming which was the best idea overall.

The mix that we decided to have was two front-end developers, one designer and one back-end developer. It is important to divide the roles up such as that all aspects of the product creation are covered.

We named ourselves NxtGen because it fitted in with our theme of early childhood development. Our product is all about the next generation.

Preparation is key

It is important to prepare for the event ahead of time. Although, depending on what technical skills are available one might be assigned a role outside of their comfort zone, which is why I believe that the ideal candidate for the job is someone who is versatile and a jack-of-all-trades.

I prepared by concentrating on front-end development skills such as HTML, CSS and JavaScript.  I ended up working on the back-end with PHP but I don’t think my preparation was wasted. It’s not what you do that’s important, it’s that you did something!

I learnt that it is important to have your machine setup properly with the appropriate software before arriving at the event.

I also prepared my suitcase. I put a sleeping bag in it. My toiletries. A blanket. While it is obvious that a laptop is needed, it is important to anticipate what other electronic accessories or equipment which might come in handy. I put in my power cable and two-pin adapter. Next time, I will have to purchase an extension cord, just in case. I brought my earphones. My cell phone charger. Luckily they gave as memory sticks, so that was covered.

Understand the judging criteria

We were given the judging criteria on the Saturday, 20 May. We asked what type of people would be on the judging panel and we were told they were diverse – some technical, some non-technical. So that meant we couldn’t rely entirely on the demo alone to get our message across.

We had to create a PowerPoint presentation to state what the problem was and what our solution to the problem was going to be. Also, we had to state the benefits of the solution, as well as the risks we anticipated in executing our solution.

As far as sticking with the judging criteria, I think we did a good job. We made judging us easier. Each criteria was weighted differently. For example, the demo only weighed 10%. So we knew that we had to spend more time on the presentation instead.

Understand your technology stack

I stand to be corrected but there were between 10 to 15 teams, as well as a couple of mentors advising the teams. What was interesting is that the technology used was roughly a battle between the MEAN vs. WAMP stacks.

MEAN stack is MongoDB, Express.js, Angular and Node.js. On the other hand, WAMP stands for Windows, Apache, MySQL and PHP (or Python). We chose the WAMP stack because it is easier to setup and run with it. Bootstrap also featured heavily in almost all of the web apps. On front-end we used HTML, CSS and JavaScript.

I don’t have much to say about MEAN stack since I don’t know a lot about it but I am willing to learn both stacks, if possible. Personally, the more skills that I can acquire, the better it is for my future side projects.

Success!

I think success breeds success, so I am looking forward to participating in more hackathons this year. Winning it the first time around makes me feel good about myself and my abilities. It was so unexpected!

I would like to thank Standard Bank for making my dreams of participating in my first hackathon a reality. I also extend my thanks to the other sponsors and the organising team behind the hackathon. Not forgetting the mentors who took part and helped with technical support. And of course, my team mates – without whom it would have been impossible to get started.

Oh, one more thing, I’m looking forward to this year’s GirlCode Hackathon.

By: Sharon Khalo

Sharon Khalo is a hobbyist full stack web developer. She is also a blogger and aspiring author. She currently works in Human Resources as HR Assistant, while also participating in a HR learnership. She has 7 and a half year experience on the mainframe as a Natural Adabas developer. She writes for abeginnersguidetohackathons.com.

Leave a Reply

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