My friend Yuki is always on Tinder during lectures. His taste seems to be somewhat 'erratic' to everyone but him. So we wanted to see if we could train a CNN to classify tinder profiles.
What it does
Scrapes the pictures in a Tinder profile, detects the faces, and then feeds the cropped faces to a custom trained model on Clarifai. It then classifies each photo and aggregates a score based on weightings such as current pickiness. It then swipes left or right based on the resulting score and says a voice line that Yuki would say.
How I built it
We split the task into 3 sections. I was responsible for the data and figuring out how to scrape it from Tinder. Yuki was responsible for implementing Clarifai for face detection and custom model training. Jerry was responsible for getting our app to interact with the Tinder web client.
Challenges I ran into
Tinder really doesn't like people mining them for data. They aggressively take down available datasets online, lock your account down if you create too many sessions with pynder, and make it extremely hard to scrape profile pictures. Also, there were far more 'no' data points than 'yes' ones so we had to balance the training data.
The data also had to be manually labelled which involved Yuki going through pictures and labelling by hand. If we were doing this with keras or had more time, we could generate more training data.
Also we had a few issues with Clarifai. Firstly we kept running out of our quota for operations and had to keep creating new accounts. Secondly, it's very much a black box. There is very little customisation in terms of architecture, hyperparameters and whatnot. The training runs suspiciously quickly even if its just doing transfer learning so we have no idea what's going on under the surface.
Accomplishments that I'm proud of
Successfully created a working product. We worked very smoothly as a team by appropriate task delegation, maintaining an efficient workflow and good communication. No one on our team died of caffiene overdose or heart failure. Getting my boy Yuki some dates.
What I learned
The sane human mind cannot understand the complexity of Yuki's tastes. Yet machines are able to predict with 86% accuracy whether he'd swipe left or right.
What's next for SwaipuWaifu
-A chatbot for interacting with matches. -More training data -Cleaner training data -Implement the super like -Making a nice GUI