Initial Remarks
Okay so maybe I’ll just start by saying that I am very happy to have done this hackathon. This was a charity hackathon in which I was paired up with the organisation - “Save The Children” whom I ended up learning a lot about throughout the event.
Result
The final result can be found here: https://github.com/N-Tandiono/save-the-children-hackathon
Our 3 minute presentation submitted can be found: https://youtu.be/AD84q8hIrEE
Successes of the Event
- Submitted something that looked very professional and implementable
- Learnt a lot about the charity organisation + Sentiment Analysis
- Learnt a lot about graphic designing, UI, UX and the twitter API
What Happened / Ideas
I think a moment I’ll never forget is to be careful how you use setInterval() and twitter API calls together, where I had ended up needing to get a new token in the second hour of the event accidently setting the counter to 60. Yeah got to be careful that setInterval(1000) results in every 1 second call. This is probably the most basic mistake that could have saved some extra time instead of waiting for a new key.
So the idea drafted was to build a sentiment analysis tool which filtered twitter messages under specific keywords such as ‘bushfire’, ‘flood’ or anything else Save The Children internally, as well as parents may be interested about. Thus, we would be able to plot these messages around the regions of impact and suggest location based, the shelters and food banks (where the user can search dependent on needs). Well, why would Save The Children need this? Well the concept is based on the idea that children are most vulnerable within disasters and parents were preoccupied getting the necessities to survive. By bringing people, especially children to these centers will provide the necessary support (mental and physical).
The Learning Process
Well Sentiment Analysis is actually really important and useful. I could not believe that I did not know the actual term. As part of Data Analytics, it quanifies data primarily upon two major concepts: polarity(the overall attitude of the text) and subjectivity(bias). I was not at all suprised that python had in-built libraries for this under textblob, but I was not entirely sure on it’s accuracy. There was always the idea of using Machine Learning Studio to quickly create an ML API which could (maybe) predict the polarity and subjectivity better than the library. Despite this, due to the low student balance on my Azure account, I didn’t want to risk it (time was also an issue).
I think the hardest part was trying to create some sort of map for the visualisation. The other sections seemed fine as it would have just required CSS styling on the returned data in the python functions. This took me a lot of time and after having little success, and understanding that this was a 24hr Hackathon, we skipped the idea and had to use our UI/UX to show what the visual would have looked like (still providing our code for backend and frontend which included the automatic twitter API calls).
I initially believed threading was required to constantly update the twitter messages and data without leaving the page. Despite this, ajax proved to be an excellent tool considering you could call POST on another url which did this synchronously where the new page rendered a % for tweet in tweets %
etc. This would also mean that a server backend wasn’t needed and everything could have had been done locally (which is always what I like).
Final Remarks
Definitely not my last Hackathon. Always great to meet new people all around Australia and work with them on something new and challenging together for 24hrs. Also, special thanks to Accenture and all the mentors who stayed up through the night and popped in to say hi!