To make sure we keep pushing ourselves to grow as developers, the Develop Carolina fellowship has tasked us with an Umbrella Project. The umbrella project is a self-chosen project that will encompass everything that we learn through the 6 month program from start to finish. Not only do we have to present a final product at the end of the program, but we also have to have presentations every couple of weeks; almost like a sprint review.
The project that I am deciding to work on is called "Poll the Room" (currently a working name) and is based around getting sentiment analysis from Twitter posts. The project was inspired by my experience managing promotional and marketing campaigns as a musician. While music was an expertise of mine, marketing was not, and managing a successful campaign was certainly out of my wheelhouse. I noticed a lot of other start-up bands had the same issue of growing their fan base let alone turning those fans into paying customers.
The idea of "Poll the Room" is to be a tool that accompanies an advertising campaign to take some of the guesswork out of marketing yourself or your product. The goal is to create a web scraper that will gather information from Twitter and find, in real time, what people are saying about you and your product/service's campaign. Using Twitter's API, the goal of the project is cast a large net using keywords that the user enters and finding any tweets that use that keyword or hashtag. Once the information is gathered, the goal is to take the raw data and plug it into a machine learning algorithm that determines how people feel based upon the words they are using the the tweet. The algorithm adds a +1 to any tweet that uses positive words like love, like, want, need, and a -1 to tweets that use terms like hate, dislike, and other negative buzzwords. The numbers are added up and given a score based upon these calculated feelings that people have. This process, called sentiment analysis, could be very useful to businesses, especially small businesses that have a limited budget and need to pivot their marketing campaign if it is not going well. At the end of all the number crunching, the goal is to be able to display to the user graphs and metrics that can show them what the general sentiment is.
While I am excited about the project idea, I can already see some challenges popping up. One: the goal of the project is to keep a 40 hour time cap over 6 months. With fellowship work, time at my job, teaching, and playing shows, it doesn't leave much wiggle room for me to be biting off more than I can chew. My other worry is that this is something that I have never done before, so my time estimates for tasks will be a little rocky until I start to get into the project. If I can get the first web scraper done, that should set me up for success in the rest of the project. The next big milestone will be to find a way to store the data and make sure the sentiment analysis algorithm is making an accurate predictions of how people feel. Luckily, there are a lot of sentiment analysis libraries out there that I can outsource the raw data to so I won't need to make a machine learning algorithm from scratch. I saw that movie before and it didn't turn out so well...
As the project goes on, I will do my best to document my experience and any resources I find so that others can create similar projects to my own (or if it is an abysmal failure, learn from my mistakes). Thanks for reading and wish me luck!
Comments