A while ago I participated in Unihack 2017. This event saw competitors pitted against each other, given 24 hours and a great deal of red bull to make something cool. Our team had decided to try and use bluetooth beacons to create an app to make the restaurant experience a bit more streamlined. Our team had also decided to use React-Native to make the build process more streamlined. Needless to say the former worked out better than the latter.
Now that I have got the hang of it a little bit, I don't despise React Native, but during the first 4-6 hours, my team-mates and I, were quite frustrated. (Bear in mind, none of us had used React Native before, aside from a few rushed tutorials and hello world) We had planned a bit before hand and had a fairly good approach going in, but our enthusiasm faded quite quickly as we were greeted by endless amounts of red screens, screaming errors at us. It seemed every change to the code resulted in a new error, and wading through this see of red screens had quite a draining effect.
Around 6 hours in we had a break for dinner and went out exploring the streets of Melbourne to find some heart attack inducing snack, While there were still plenty of jokes and banter being flown around the team was quite disheartened, as we'd made very little progress and seemed to not have much of a chance of getting a MVP up and running.
The break, or perhaps it was the red bull must of done us well though because later that night we became hugely productive, between 2am and 6am, there was a flurry of activity. For the team members that slept, they woke up to a completely functional backend built in Angular with a REST API running off Python. As well as this, the app was taking shape with a fully dynamic menu system, loaded from JSON and the ability to add items to cart and view all the details.
With a lot more polish, numerous bug fixes and an untold amount of morning coffee we finished off the product and were quite pleased with the end result. Later that day, proud and exhausted we set up a stand and waited for the judges. They seemed largely pretty impressed with our application and its functionality, particularly the use of the bluetooth beacons and the way in which we had a working front end and back end.
This showed in the presentation, where we were very pleased to receive the Bosch prize for Best IoT Hack. This was a really great achievement and we were really happy to be recognised.
The big question now of course is, what have I learnt from this experience, and the answer I think is a few things: Number 1, I can stay up for 36 hours without dying. Number 2, Sometimes the best way to learn a technology is to throw yourself in the deep end and grind it out. Number 3, Don't use an entirely new stack that no-one on the team knows when you are going to a hackathon and last but not least, Number 4, Hackathons are so much fun!
If you'd like to check out the project you can look at it here.
Or if you'd like to check out the code, you can do that here.
Thanks for reading though, and I'll catch you guys soon.
- etopiei (7/9/17)