Be sure to write what inspired you, what you learned, how you built, and challenges you faced.
We saw a problem in the industry where people were just not getting the help they needed from the right people at the right time - and this was more often than not being reflected in social media platforms like Twitter, Facebook, Instagram, etc. Many of us had personal experiences with this issue and we were able to draw directly from that knowledge to create Typecast. We envisioned Typecast to be a tool that not only empowers professionals but improves the customer experience for all.
What it does
As a whole, Typecast is a web-based dashboard for business professionals that provides the perception of a product or business on Twitter in a specified timespan, allowing professionals to immediately see any tweets posted regarding the product or company. Using web scraping algorithms, Typecast first accesses tweets with certain keywords in a specified timespan. Next, the backend program uses nltk sentiment analysis to classify each tweet as negative or positive. Businesses and professionals can use this to filter the tweets they see based on the perception, allowing them to choose between seeing all tweets, or only tweets that give negative feedback, in order to highlight key problems. The program then carries out frequency analysis to provide the users with an idea of which keywords are mentioned most often, to allow users to see the key areas where issues might exist. Lastly, tweets are ranked for significance using a text rank algorithm. All this information is finally combined and presented in an easy-to-use and easy-to-understand fashion on the web dashboard.
How we built it
We first brainstormed a solution by examining industry data and the problem presented by RBC. Then, once we had come up with and fleshed out an idea, we consulted industry professionals to validate it (eg. Sam Guan, one of the RBC representatives). We then experimented with and utilized multiple APIs, including one that scrapes twitter, as well as the nltk library, in Python. While building the product, the team went through constant revision and refinement, ultimately leading up to the development of the final version of Typecast.
Challenges we ran into
This hackathon took a lot of figuring out for our team. Early on, we had to learn how to scrape social media platforms, specifically Twitter, which none of us had a background in. Also, although we had some background in ML, we had to completely learn sentiment analysis. Another problem appeared later on, as we had initially built the python back-end using Tensorflow and Gensim, but we had difficulty integrating this with the front-end UI.
Accomplishments that we're proud of
We are proud of our ability to work together as a team, manage our time, and combine multiple different functionalities and skillsets together to create a functioning, successful program. Despite having little experience in scraping prior to the challenge, we were able to successfully find effective and efficient APIs that aligned with our goals in very little time. The same applied for different areas of the program, including the sentiment analysis algorithm, as well as the keyword extraction algorithm. Overall, we are also very proud of programming cleanly and efficiently, despite the time constraint.
What we learned
We learned a lot about how different programming algorithms and languages can be seamlessly combined to create a well-functioning program, along with gaining a deeper understanding of scraping methods, sentiment analysis, and keyword extraction. We also learned a lot more about how to work together as a team, and manage time in our first hackathon.
What's next for Typecast
In the future, we hope Typecast can expand to many different social media platforms, including Instagram, Facebook, and YouTube, particularly looking into comment sections. We’re also really excited to try and integrate image/video analysis, giving us a much wider range of data. We hope that this tool is helpful to businesses and genuinely improves the customer experience