Inspiration

  • We generally wanted to bring people together who have things in common that they didn't know about. We initially wanted to match people based on common locations in their Google Maps history, but only one of our members had enough map data for a program to run on. So we shifted our focus to browser data.

What it does

  • Matches users together based on data the user provides the program. These matches could be used to meet like-minded strangers or find quick talking-points for people the user is acquainted with.
  • This data is easy to request at Google Takeout, and doesn't need any editing before uploading it to the program. Given this data, the program identifies the most common themes and uses them to show the user people with similar interests, and what those shared interests are.

How we built it

  • Backend: Individual data points (search queries, titles of watched videos) are analyzed using the natural language processing tool TextBlob to identify their noun-phrases, which are the most 'matchable' part of the data. A histogram is created with the frequency of the noun-phrases across all of the data points, and the histograms for multiple user's data are compared to each other to identify common themes.

  • Frontend: We developed an Android app using Kodular that takes a user’s info and stores it in a Firebase Realtime Database. We then direct the user to visit a Google Cloud webpage which runs the backend code. The app then displays common interests between the user and the closest match.

Challenges we ran into

  • Backend: Analyzing individual nouns, was insufficient to match data that should have been matched (you search "stack overflow" a lot, but you might not be very interested in "stack" or "overflow"), which made TextBlob necessary.

  • Frontend: With all of us collectively having very little front end experience, we were unsure how to connect the frontend and backend together. We discovered Firebase Databases, which were natively supported in Kodular and easy to access through Python.

Accomplishments that we're proud of

  • Backend: This was my first time using an NLP module, and the YouTube data starts in a .html file from Google Takeout, which was very difficult to retrieve data from.
  • Frontend: We were all collectively proud that we had a workable front end.

What we learned

  • How to store data and execute python code using cloud services.

What's next for FindM8s

  • Matching based on location data.

Built With

Share this project:

Updates