Our team of 4 have known each other since high school through common classes. Due to our inherent nerdiness, we have always been fascinated with programming and working with/looking at data. During our time in our statistics class in high school, we were amazed at the quality and quantity of the data provided by government organizations such as Statistics Canada, but were a little disillusioned as to how poorly such data was presented. Thus, We saw this Hackathon as the perfect opportunity to build an easily accessible and usable data modelling application that will present said data in a much more appealing fashion.
What it does
Keyin makes the visualization of open data easy and fun to use. We have found that websites providing Canadian open data online are generally slow, hard to use and often lock features behind paid tiers. Keyin makes searching for data an extremely easy and rewarding experience, and also presents said data in a beautiful and engaging way.
How we built it
Challenges we ran into
We ran into multiple challenges pulling the data from namara.io, as they did not allow us to pull data from them at the mass scale that we hoped we could. In the end, we had to scale down and settle for just retrieving their data in Toronto (of which there were around 200 sets). Additionally, we initially planned to build the graphs solely with D3, but it proved extremely challenging to use and we had to switch to chart.js for the sake of time.
Accomplishments that we're proud of
We are proud to have built a beautiful website where one can easily search for and display data in a visually appealing and user friendly manner. We have also becomed much better versed in the various languages and libraries we used.
What we learned
We learnt Node, Express and chart.js rather well from this experience. In addition, we further honed our skills with Git, HTML and CSS.
What's next for keyin
We have built the basics of an easily extensible website. We are looking to pull data from sources other than namara.io (and since they all return JSON strings this is easily do-able) to expand our data offering, as well as add more customizability and graph options for the user. Possibly, some of these new features can be monetized.