Oftentimes when participating in a hackathon, the members of any given team are not going to be great presenters, or be able to sell their ideas well. So, we wanted to create a tool to help level the playing field.
What it does
Our tool uses a version of a recurrent neural network called an LSTM to classify the description as a winner or a loser. It also highlights areas that have a high effect on the overall score of a given passage. This allows you to make your pitch and description better and more sellable to the people reviewing your project.
How we built it
We used keras a library that is an abstraction layer for Tensorflow to provide the model creation API. We then needed a dataset to be able to train to predict the winners of hackathons. We obtained this dataset by scraping over 1500 pages of the devpost software pages, which each contain 24 projects. Each of the projects was scraped as either a winner or a loser, the winners having a gold band marking them, and the losers having nothing. Once the training and creation of the dataset was done, we created a webserver using flask and python to be able to allow our tool to be used. Our server uses ajax requests to make the process more smooth and seamless.
Challenges we ran into
Oftentimes data can be in formats that are difficult to deal with, this is most definitely the case for our project. We had to coerce the arbitrarily long descriptions into 200 word sequences, use the words to find word2vec embeddings, and then pad anything that ended being shorter than 200 phrases.
Accomplishments that we're proud of
We were able to train a neural network based model to predict the winners in the validation set with 78% accuracy, and we have a frontend such that the tool can be used easily.