Inspiration
Admit it: you've taken a Buzzfeed "are we compatible" quiz. You know it, we know it, everyone knows it. Maybe you had a desperate crush, or a struggling friendship, or a sudden curiosity about the stranger you met at the grocery store.
The sad thing we also know is that they don't work. But what if those quizzes could actually understand you? What if you could skip the boring dating apps, the awkward social events, the uncomfortable conversations, and just know who you're going to get along with? Introducing Birds of a Feather: a truly accurate compatibility predictor.
What it does
Birds Of A Feather takes two twitter usernames and tells you whether they're likely to be friends (i.e., following each other). It does so by developing a mathematical profile of each's most recent 100 tweets and analyzing the similarity. Then, because sometimes, opposites attract, it uses data from thousands of real, pre-existing follow pairs and their similarity to predict compatibility.
How we built it
The user interacts with a Flask operated webpage. The given usernames are then used to locate tweets which are scraped using SNScrape and processed through Co:here to produce a representative vector. Those vectors are averaged to produce each user's final vector. The cosine similarity of the two vectors is then passed on to a K Nearest Neighbors algorithm run off of Scikit Learn. It's built from a kaggle dataset of 40,000 twitter users and the people they follow, which all undergo the same process to train the KNN model.
Challenges we ran into
Everyone on our team is a beginner, so basically every library, framework, and technology we used was brand new to us. We had to essentially learn almost everything we used as we went. That also meant we didn't know the most efficient ways to do things which meant our program is quite slow. We just didn't have the time to process our data and that was a major limiting factor in the completeness of our project.
Accomplishments that we're proud of
Honestly? Just making the thing semi-functional is an accomplishment in and of itself. We successfully took user input from a website, scraped tweets, processed the data, and classified the input. All of that was brand new territory for us so we're really proud of what we've made!
What we learned
Google is a very powerful tool! As are the people around you.
And, of course, we learned a great deal about AI and all the technologies we used in this project.
What's next for Birds Of A Feather
In the end, Birds Of A Feather wasn't fully functional as our collection processing algorithms were too slow for the amount of data we needed to make a functional model. So, at the moment, the website operates off fake training data we made ourselves. The first thing we want to do is make sure our model is properly trained--we already have the beginnings of this on our dataprocessing branch.
Furthermore, at its first conception, Birds Of A Feather was actually going to be used for Instagram, so we may want to expand to other social media platforms! We would also love to introduce new considerations to the compatibility calculator, such as mutual friends, liked and retweeted tweets, and more.
Log in or sign up for Devpost to join the conversation.