Inspiration
Inspired by the recent acquirement of Twitter and our own interest in the stock market, we wanted to see if there were any sort of conclusions to be drawn from tweets aimed at certain companies or their owners in an attempt to leverage the people's voice as a guesstimate of future market performance.
What it does
Freebird ingests tweets live via Twitter's API and performs sentiment analysis. This allows the user to see a live reflection of the average sentiment people have towards these companies and their CEOs. This is a great tool for investors, as public sentiment can often be a good indicator of stock performance.
How we built it
We have two backend services. The ingest pulls from Twitter's API, performs sentiment analysis, and pushes the raw data into our database. Our API service is built with Go & gRPC and handles updating the website as tweets roll into our database. Our frontend communicates with our backend by forwarding HTTP/1.1 requests to an envoy proxy where it gets redirected to the main gRPC server.
Challenges we ran into
Our backend team had trouble moving into user land as they forgot that gRPC is primarily used to communicate between servers. So it took us a while to figure out how to set up the envoy proxy to forward frontend requests. In addition, we did not symlink our proto files which led to a lot of production conflicts due to the frontend and backend having different API definitions.
Accomplishments that we're proud of
Our ingest to frontend process goes through 100 tweets / minute and runs perfect on a 1 vCPU 1 GiB RAM machine.
What we learned
REST might be the better protocol for frontend facing applications, but at the end of the day, working with gRPC beats out working with websockets.
What's next for FreeBird
We're going to use this data to train our PrisonPredictorâ„¢ algorithm to predict the next 'genius' billionaire heading to your local correctional facility.
Log in or sign up for Devpost to join the conversation.