WEBVTT

0
00:00.180 --> 00:04.770
Hey guys, welcome to Day 50 of 100 Days of Code. You've made it.

1
00:04.770 --> 00:08.430
It's half way. You've gone so far from the beginning.

2
00:08.820 --> 00:13.050
And today I've got a special project just to celebrate that. We're going to be

3
00:13.050 --> 00:15.450
building a auto tinder bot.

4
00:16.170 --> 00:19.350
So for those of you guys who don't know what Tinder is

5
00:19.410 --> 00:21.360
and I'm not sure if I believe you,

6
00:22.470 --> 00:26.520
but Tinder is basically an app which helps people date online.

7
00:26.850 --> 00:30.450
The idea is that you see somebody's profile, you hit like,

8
00:30.540 --> 00:33.060
and if they like your profile as well,

9
00:33.300 --> 00:37.500
then you've made a match and you can chat to each other and potentially set up a

10
00:37.500 --> 00:41.100
date. Super simple and it's probably one of the top

11
00:41.130 --> 00:42.870
most downloaded apps currently.

12
00:43.530 --> 00:48.530
So there's a bit of a backstory about how this project came about. A few weeks

13
00:48.660 --> 00:49.050
ago,

14
00:49.050 --> 00:53.940
I was at a barbecue and some friends started talking about how they were so

15
00:53.940 --> 00:58.260
frustrated with online dating. One of my friends, let's call him

16
00:58.410 --> 01:03.410
Jason says that he spends about two hours a day swiping and chatting on Tinder.

17
01:04.740 --> 01:07.200
But even after all of that time and effort,

18
01:07.320 --> 01:10.020
he just doesn't end up getting any dates.

19
01:10.710 --> 01:15.180
And at a time I remember looking around and pretty much all the boys in the

20
01:15.180 --> 01:19.920
group actually agreed with him and said they were also spending a lot of time

21
01:19.940 --> 01:24.450
swiping on Tinder, but they all have the same problem, very few matches.

22
01:25.050 --> 01:28.710
So this got me really curious, and I did a bit of Googling.

23
01:29.010 --> 01:32.730
It turns out that Jason and my friends are actually not alone.

24
01:33.090 --> 01:35.880
It's not just them who's not getting enough swipes.

25
01:36.570 --> 01:41.550
I found a guy on Reddit who requested their data from Tinder and he posted his

26
01:41.550 --> 01:42.420
stats online.

27
01:42.900 --> 01:47.900
So apparently he only got a total of 110 matches out of 26,800 swipes over for

28
01:51.690 --> 01:55.200
four years, that's 0.41%.

29
01:55.500 --> 01:59.520
This poor lad has almost a better chance of winning the lottery at that rate.

30
02:00.090 --> 02:01.680
And this is not just a one off.

31
02:01.710 --> 02:06.690
I found another guy who posted his tender stats and this guy did a little bit

32
02:06.690 --> 02:07.710
better, um,

33
02:07.740 --> 02:12.740
where he got 133 matches out of 12,631 swipes.

34
02:13.500 --> 02:17.340
So basically just one match for every a hundred swipes.

35
02:18.090 --> 02:22.380
All of the swiping means that they must've spent a lot of time inside the app as

36
02:22.380 --> 02:23.213
well.

37
02:23.340 --> 02:28.320
And I looked around for Tinder stats that they give their investors to show how

38
02:28.320 --> 02:32.700
great their user engagement is and why they're worth how much they were.

39
02:33.120 --> 02:36.390
So back in 2014, the New York times interview the company

40
02:36.450 --> 02:40.680
and they said that users login about 11 times per day

41
02:41.040 --> 02:44.100
and men spend around 7.2 minutes per session

42
02:44.400 --> 02:47.670
and women spend about 8.5 minutes per session

43
02:47.970 --> 02:52.230
cause we're a bit more picky with a total average daily engagement time of

44
02:52.230 --> 02:54.090
around 90 minutes.

45
02:54.570 --> 02:59.560
That's one and a half hours of swiping per day. That's crazy.

46
03:00.340 --> 03:03.880
I didn't know that much about Tinder, but after all this research,

47
03:03.940 --> 03:08.440
it gave me an idea. What if Jason didn't have to do all this wiping manually.

48
03:08.560 --> 03:12.850
What if he could just write a program that would automate this whole process and

49
03:12.850 --> 03:15.220
swipe for him? Long story short,

50
03:15.280 --> 03:18.580
I introduced Jason to selenium and Python,

51
03:18.910 --> 03:22.870
and now he's happily married with three children. Just kidding.

52
03:22.960 --> 03:26.680
Uhm, actually, Jason is still trialing our little program,

53
03:27.160 --> 03:31.210
but he's doing pretty well and much better than before and saving himself a lot

54
03:31.210 --> 03:33.460
of time. But most importantly,

55
03:33.520 --> 03:38.320
I think it makes for a fun project for us to practice our Python and selenium

56
03:38.320 --> 03:39.153
skills.

57
03:39.880 --> 03:44.830
Now the first time I realized that people actually want to automate this instead

58
03:44.830 --> 03:49.420
of choosing the people they want to swipe on is when I came across this product

59
03:49.540 --> 03:51.070
called the Tinder finger,

60
03:51.520 --> 03:55.780
which is something that you plug into your phone and it powers the finger to

61
03:55.780 --> 03:57.340
just keep swiping right

62
03:57.730 --> 04:02.730
which basically means I'm liking everybody until somebody likes you back

63
04:03.400 --> 04:07.390
and then you've got a match and you can chat with them instead of endlessly

64
04:07.390 --> 04:09.820
swiping right. In fact,

65
04:09.910 --> 04:12.910
I found a whole bunch of YouTube videos out there of people building

66
04:12.910 --> 04:15.190
contraptions to swipe for them.

67
04:15.880 --> 04:20.440
So we're going to try and create this only using software more specifically

68
04:20.470 --> 04:25.120
using Python and selenium. Now just the word of warning.

69
04:25.330 --> 04:27.460
If you are going to be swiping right on Tinder,

70
04:27.460 --> 04:31.060
it might be worth telling your other half about it just in case they

71
04:31.060 --> 04:34.630
accidentally find you on Tinder through the corner of their eye

72
04:34.630 --> 04:39.520
and you end up in some sort of bad situation where they really get angry at you.

73
04:40.300 --> 04:43.270
Also, I know that you might not be looking for a date right now

74
04:43.300 --> 04:46.030
or you might have your doubts about signing up to a dating app

75
04:46.030 --> 04:50.050
using your real name and photo just to practice some Python programming.

76
04:50.470 --> 04:52.450
In that case, you can try a website called

77
04:52.480 --> 04:56.980
thispersondoesnotexist.com to auto-generate some profile pictures for you.

78
04:57.340 --> 04:58.270
These images,

79
04:58.270 --> 05:03.270
every time you refresh is an image that's generated by a neural network using

80
05:03.400 --> 05:07.150
machine learning. And these are not real people's faces,

81
05:07.450 --> 05:11.380
but they look pretty real to me anyways. And you could in fact,

82
05:11.380 --> 05:15.070
use this profile for this auto Tinder swiping project.

83
05:15.880 --> 05:17.800
Pick somebody, sign up to Tinder,

84
05:18.310 --> 05:23.310
and then we're going to use selenium to automate the entire process by swiping

85
05:24.010 --> 05:27.730
on the Tinder website. This is what it looks like.

86
05:28.630 --> 05:31.120
Your bot is going to log in using Facebook.

87
05:32.620 --> 05:37.620
And then it's going to click on all the things that needs to be clicked so that

88
05:38.260 --> 05:40.990
you can actually reveal the buttons for swiping.

89
05:42.250 --> 05:46.540
And then it just swipes through everybody. And once it hits a match,

90
05:46.780 --> 05:47.830
that's going to be a popup.

91
05:47.950 --> 05:52.900
So it's going to click on back to Tinder and continue swiping. Now,

92
05:52.900 --> 05:56.470
remember that Tinder has a maximum of a hundred swipes per day.

93
05:56.560 --> 06:00.470
So unless upgrade to one of that paid tiers your bot is only going to work on a

94
06:00.470 --> 06:04.340
hundred swipes per day, no matter how much you're automated.

95
06:04.760 --> 06:08.390
But I'm sure you're a busy person saving your hundred swipes is probably

96
06:08.390 --> 06:10.070
already worth creating the bot.

97
06:10.580 --> 06:14.210
And if you're somebody who's on Tinder premium or whatever it is they call it,

98
06:14.570 --> 06:18.290
then you could actually continue swiping all day. Now,

99
06:18.320 --> 06:22.550
if you are somebody who doesn't want to hurt anybody's feelings by auto matching

100
06:22.550 --> 06:26.570
with them using a Tinder bot like the one that we're about to write,

101
06:26.930 --> 06:31.930
then feel free to complete the challenge just by hitting dislike on everyone so

102
06:32.090 --> 06:33.980
that you don't match with anybody.

103
06:34.910 --> 06:37.580
So that's the project that we're going to be building today.

104
06:37.970 --> 06:39.860
And if you head over to the next lesson, we can get

105
06:39.880 --> 06:43.120
<v 1>started with the step by step challenges.</v>