Hey guys, welcome to Day 50 of 100 Days of Code. You've made it.
It's half way. You've gone so far from the beginning.
And today I've got a special project just to celebrate that. We're going to be
building a auto tinder bot.
So for those of you guys who don't know what Tinder is
and I'm not sure if I believe you,
but Tinder is basically an app which helps people date online.
The idea is that you see somebody's profile, you hit like,
and if they like your profile as well,
then you've made a match and you can chat to each other and potentially set up a
date. Super simple and it's probably one of the top
most downloaded apps currently.
So there's a bit of a backstory about how this project came about. A few weeks
ago,
I was at a barbecue and some friends started talking about how they were so
frustrated with online dating. One of my friends, let's call him
Jason says that he spends about two hours a day swiping and chatting on Tinder.
But even after all of that time and effort,
he just doesn't end up getting any dates.
And at a time I remember looking around and pretty much all the boys in the
group actually agreed with him and said they were also spending a lot of time
swiping on Tinder, but they all have the same problem, very few matches.
So this got me really curious, and I did a bit of Googling.
It turns out that Jason and my friends are actually not alone.
It's not just them who's not getting enough swipes.
I found a guy on Reddit who requested their data from Tinder and he posted his
stats online.
So apparently he only got a total of 110 matches out of 26,800 swipes over for
four years, that's 0.41%.
This poor lad has almost a better chance of winning the lottery at that rate.
And this is not just a one off.
I found another guy who posted his tender stats and this guy did a little bit
better, um,
where he got 133 matches out of 12,631 swipes.
So basically just one match for every a hundred swipes.
All of the swiping means that they must've spent a lot of time inside the app as
well.
And I looked around for Tinder stats that they give their investors to show how
great their user engagement is and why they're worth how much they were.
So back in 2014, the New York times interview the company
and they said that users login about 11 times per day
and men spend around 7.2 minutes per session
and women spend about 8.5 minutes per session
cause we're a bit more picky with a total average daily engagement time of
around 90 minutes.
That's one and a half hours of swiping per day. That's crazy.
I didn't know that much about Tinder, but after all this research,
it gave me an idea. What if Jason didn't have to do all this wiping manually.
What if he could just write a program that would automate this whole process and
swipe for him? Long story short,
I introduced Jason to selenium and Python,
and now he's happily married with three children. Just kidding.
Uhm, actually, Jason is still trialing our little program,
but he's doing pretty well and much better than before and saving himself a lot
of time. But most importantly,
I think it makes for a fun project for us to practice our Python and selenium
skills.
Now the first time I realized that people actually want to automate this instead
of choosing the people they want to swipe on is when I came across this product
called the Tinder finger,
which is something that you plug into your phone and it powers the finger to
just keep swiping right
which basically means I'm liking everybody until somebody likes you back
and then you've got a match and you can chat with them instead of endlessly
swiping right. In fact,
I found a whole bunch of YouTube videos out there of people building
contraptions to swipe for them.
So we're going to try and create this only using software more specifically
using Python and selenium. Now just the word of warning.
If you are going to be swiping right on Tinder,
it might be worth telling your other half about it just in case they
accidentally find you on Tinder through the corner of their eye
and you end up in some sort of bad situation where they really get angry at you.
Also, I know that you might not be looking for a date right now
or you might have your doubts about signing up to a dating app
using your real name and photo just to practice some Python programming.
In that case, you can try a website called
thispersondoesnotexist.com to auto-generate some profile pictures for you.
These images,
every time you refresh is an image that's generated by a neural network using
machine learning. And these are not real people's faces,
but they look pretty real to me anyways. And you could in fact,
use this profile for this auto Tinder swiping project.
Pick somebody, sign up to Tinder,
and then we're going to use selenium to automate the entire process by swiping
on the Tinder website. This is what it looks like.
Your bot is going to log in using Facebook.
And then it's going to click on all the things that needs to be clicked so that
you can actually reveal the buttons for swiping.
And then it just swipes through everybody. And once it hits a match,
that's going to be a popup.
So it's going to click on back to Tinder and continue swiping. Now,
remember that Tinder has a maximum of a hundred swipes per day.
So unless upgrade to one of that paid tiers your bot is only going to work on a
hundred swipes per day, no matter how much you're automated.
But I'm sure you're a busy person saving your hundred swipes is probably
already worth creating the bot.
And if you're somebody who's on Tinder premium or whatever it is they call it,
then you could actually continue swiping all day. Now,
if you are somebody who doesn't want to hurt anybody's feelings by auto matching
with them using a Tinder bot like the one that we're about to write,
then feel free to complete the challenge just by hitting dislike on everyone so
that you don't match with anybody.
So that's the project that we're going to be building today.
And if you head over to the next lesson, we can get
1: started with the step by step challenges.