Inspiration

Our team drew inspiration from the endless possibilities of natural language processing and its relationship with machine learning. After locating a dataset of Twitter tweets and resulting personality scores, we knew what our idea would be.

What it does

Twinder is a web application that allows users to locate and connect with other individuals who are of the same personality type (or others). The user is prompted to enter in their Twitter username, and our application will parse their tweets from the last week and then return a Myers-Briggs personality score. The user is then able to explore and connect with other users of ours (or famous personalities) and their personality types. Whatever happens next is out of our control.

How we built it

The tweets are collected using the Twitter API and then are subsequently inputted into a trained machine learning model, which returns the resulting personality scores. We trained the model using logistic regression and found an 80% success rate in predicting each of the individual quantifiers of the personality test. Our website was built using HTML/CSS/JS, Angular, and flask framework. We hosted our application using Heroku. Stored user data and personalities are kept in a mongodb database, which our application accesses.

Challenges we ran into

We ran into a multitude of problems when coding this project. For starters, we had a very difficult time hosting the application using GCP. We eventually deferred to using Heroku, which we had more experience using. Additionally, several of the front end elements of our application took considerable effort, including the section that outputs data from our database.

Accomplishments that we're proud of

Our team was proud to be able to come up with a successful machine learning model, implementation of a web API, implementation of a web framework and front-end technologies, as well as successfully setting up web-hosting and database hosting.

What we learned

We learned a great deal from our experience. For starters, we learned that neural networks have many limitations when datasets are not of a sufficient size. It took us a long time before we realized that making use of logistic regression was the best course of action for training our dataset. Additionally all of our group members gained experience working with web applications and hosting in general.

What's next for Twinder

Time was of the essence in our project, and there were some features that we hope to improve. For starters, we want to be able to host our application on GCP, which we did not end up doing for this hackathon. On top of that, we want to implement our own chat and friending system, similar to other social media platforms.

Built With

Share this project:

Updates