Inspiration

We were interested in assisting beginner traders get meaning out of social media in a fast and efficient manner.

What it does

Performs sentiment analysis on tweets that are related to a given cryptocurrency, displays the general sentiment behind a given currency, and tries to find correlations between certain tweets and price fluctuations.

How we built it

The backend is made of Python (accompanied by the flask microframework) and MongoDB. The market data is drawn from the Poloniex exchange's public API, and the tweets are taken from Twitter's API. A select amount of tweets from the past week are then uploaded to Google Cloud's NLP service, where sentiment analysis is performed.

To be kind to our API providers, the data is cached in our database for given periods of time, after which it is repopulated when the next user visits a page.

Challenges we ran into

It would have been preferable to have the database update in the background as it received a stream of data from Twitter's API. Doing this would have required the service and its database to be asynchronous, however... something that we did not have any experience in. Also, we created a Convolutional Neural Net to perform our own sentiment analysis on a trained word2vec corpus of our tweets, however after the time spent to acquire that data/pre-process it, etc., we ended up running out of time to train it.

Accomplishments that we're proud of

All of our code tied really nicely together. Between myself working on the backend with the databases and core Flask setup, to Ryan working on the frontend Javascript, to Raymond working on the machine learning aspects, everything turned out quite well.

What we learned

We learned how to use Google and Twitter's API. Ryan and I improved our knowledge of MongoDB, and Raymond used his machine learning knowledge for NLP for the first time.

What's next for CryptoInfer

Train our custom classifier, get some sleep, and display the relevant tweets inside the present graph at their respective time values.

Built With

Share this project:

Updates