Inspiration

What it does

  • Connect people together
  • Given that most dating applications/platforms feature some sort of messaging capabilities, as part of our platform, we wanted to develop an AI agent that would be able to determine if a message was undesirable or not. The AI agent would then scan each potential message when the user hits send, and if the message was undesirable, it would warn the user, letting them know that the message might not be received well and asking the user if they really wanted to send it. In doing so, we hope to both improve the dating experience, and help individuals become better at communicating, thereby increasing their chances at finding at finding love.

How I built it

  • For the classifier, we built a Python/Flask backend with a few API endpoints we could ping. Then we used PRAW to hit Reddit's API and extract the image URLs for the top 80-100 submissions on a few subreddits. Then we used Google Cloud Platform's Vision API's OCR capabilities to extract the text from those images. We then fed the resulting text into Dialogflow to try and build an AI agent based on the extracted data. We then created another endpoint in Python/Flask that would be able to accept a message, pass that message to the AI agent, and tell the user whether or not the AI thinks the message is creepy.

  • For the front-end we used react to create log in and sign up page, which connects to Typeform API to display widget style fun quiz to determine if they are awkward enough to use the app. We create profile pages, top matches profile and working on the chat room system. Also, the user don't have to upload their own profile image but get to choose their avatar instead, which will make them open up to use this app and socialize. For future enhancement, we would like to enhance the UI, chat room system, tips and tricks about communication etc.

Challenges I ran into

  • Deciding which machine learning technologies to use
  • Getting Dialogflow to cooperate
  • Azure / react build
  • Front-end was tough
  • Creating Matching system in python with flask

Accomplishments that I'm proud of

  • That we did not sleep the whole night
  • We were determined

What I learned

  • How to use machine learning technologies to build an AI agent
  • That "Owner" permissions aren't necessarily all-encompassing
  • Flask

What's next for Perky Geeks

  • Improved data (noise removal, distinguishing between senders and recipients in screenshots, integrating sentiment analysis to determine whether or not a message is used as part of the training data, adding user messages/input to the training data set)
  • Data segmentation (What exactly is "creepy"? Is the user being racist, sexist, thirsty, etc?)
  • Suggested prompts/messages based on popular dating subreddits

Built With

Share this project:

Updates