Reflections

My First Hackathon

Background

I participated in HackTheValley III that was held during February 22-24. During the event, I experienced and learned different facets of how hackathons are structured and how people in Hackathons proceed. I entered the hackathon with my friend and we’re a team of two that wanted to create an app that will let the users make smarter financial decisions by allowing them to set financials goals. We competed in the “Best Google Cloud Platform hack” category with our app.

We had 36 hours (more like around 24 hours split into 3 days if you take rest between those 3 days and have some time to eat and take a break) to complete the project, in the end we didn’t finish the project as we ran into some issues at the backend of the project – namely the fact that Google Authentication for Google Cloud Platform is unusually hard to setup for Android. The repository for our half-finished app can be found here .

Advice for joining hackathons

After the hackathon was over, I realized quite a few things that could’ve made my experience better and indirectly helped on enabling us to finish the app:

  • Don’t go to hackathons sleep-deprived. Seriously. You’re in for a 36-hour wild ride. I went to the hackathon sleep-deprived due to waking up early for a midterm exam earlier in the day of February 22 and by the end of the day I can’t function and needed to sleep.
  • Before you create your app, discuss it with your team first and layout the requirements and scope of your project. The difference between running a project smoothly and rough is overestimation and underestimation of the project’s scope. Only in the later phase of the project did we realize that we underestimated the project’s scope because we weren’t all too familiar with how Android backend worked with Google Cloud Platform, which leads to my next point.
  • Unless you’re a developer with 5+ years of experience in developing applications from start to finish and involved in front-end and back-end work, be prepared to learn new things on the fly during the hackathon. Before coming to this Hackathon, I didn’t know about Google Authentication for Android, by the end of it I had some experience with it and successfully made a functioning Google Authentication for an app.

BudgetMate Prototype

BudgetMate’s back-end on Google Cloud Platform was finished. It consists of using an SQL-based database connected using Google Scripts. Thus, Google Scripts acts as the database connector between the database and the client.

Now, here’s the problem that my team underestimated – Google Cloud Platform apps, such as Google Scripts, requires an authentication token to grant a client the privileges needed to perform API calls. One of the ways to do this is to provide Google Authentication for the app. In this case, it’s Google Authentication for Android using Firebase. FireBase is Google’s own platform solution that provides tools needed to simplify Android development. Thus, I followed the guide here and I was able to make the Google Account sign-in authentication work but I was unable to produce an authentication token that would’ve enabled the app to establish a connection with the Google Script API that my partner developed and perform API calls necessary to create an application that has CRUD functionalities.

The app itself is incomplete due to the front-end not being connected with the back-end properly; the layouts of the app screens are finished but they’re empty with content and only the Google Authentication works for the app. You can clone the repository to your desktop, build it, and test the app as it currently functions with only Google Authentication working.

 

 

Leave a comment