We noticed that many people these days find themselves with little or no hobbies (Netflix doesn't count). This can lead to boredom, social isolation, or even depression. We decided that we wanted to find a way to analyze peoples public profiles, and use the data found there to suggest hobbies for them to try. Ideally, it will suggest things that they would've never thought of themselves.
How it works
Our app works using a three step process. First, it scrapes the web for information it can find on the Reddit profile you provide. Secondly, it puts all of that data through a trained neural network to vectorize your public profile. Finally, it sends the output from the neural network into a different neural network, which tries to identify what hobbies you might enjoy, but haven't yet considered.
Challenges we ran into
Our team was assembled at the on the bus heading towards Western University. As such, we didn't have a whole lot of time for planning, and we only ended up deciding what we were going to do a couple hours into the first night. Time and time again, we found ourselves waiting for computationally intensive tasks to complete, some of which took several hours to finish. We managed to overcome these challenges by keeping ourselves busy on a variety of tasks while we waited for the computations to complete.
What we learned
We learned about Doc2Vec, an NLP toolkit that allows for the vectorization of paragraphs, and how to use TensorFlow to create efficient multilayer neural networks for NLP. Additionally, we gained experience in processing massive datasets, and extracting relevant data while webscraping. We also learned more about building and hosting web apps using NodeJS, WebSockets, and Flask.
What's next for the our app
As explained above, because of the time constraint we were unable to process very much data. By processing more data, we will be able to better determine what hobbies would be truly interesting for those using our app. We plan to continue development on all fronts for this project. In addition to processing more data, and using it to better train the networks, we also want to spend time testing different designs and hyper-parameters for our neural networks. Furthermore, we plan to add support for several different social media sites such as Twitter, Facebook, Tumblr, and more.