# Dating a mechanical engineer

From here an Odesk virtual assistant coordinates dates.

This also handles rescheduling but conflicts are not an issue as you will soon see.

I was pleased to learn that the latest popular dating app, Tinder, now has an Android client.

Besides forcing me to reactivate my Facebook account it seems simple enough.

Unfortunately, I quickly realized that this was going to turn in to a massive time sink. I did some simple man in the middle packet sniffing to reverse engineer the Tinder API. Send your location, grab a handful of images and user ids, and tell the server which ones you liked.

I wrote a minimal python client in Ubuntu and began designing an algorithm to speed up the process a bit.

The algorithm first segments the main image by finding all of the faces via Open CV. If multiple faces are found the end score will be the average of all of them.

This seems to work since people tend to associate with those of similar levels of attractiveness.

Facial attractiveness is surprisingly uncomplicated to quantify.

Essentially, evolution has us seeking partners that are as “normal” as possible. If no response is received the candidate is discarded.

Anything that is unusually big or small, any ratio that differs from $\phi$, or about 1.618, hurts the score. After a match is identified the algorithm sends a simple message “Can I have a dance? If any response is received, it is ignored and a follow up message is sent “Haha okay then how about we go to a fancy seafood restaurant?

After the face(s) are identified in the image, a mask of 25 anthropometric proportion indices is overlaid and mean compliance is measured. ”, inspired by the classic meat-for-sex exchange that is common in the animal kingdom as well as among humans.

The client uses NLTK to judge an affirmative or negative response.