A Power Platform Love Story || Power Platform Virtual Conference
22K views
Nov 6, 2023
What if the power platform could help locate your perfect match? We’ll go through the creation of how we’ve utilised different power platform components to identify which match is best for you - on paper. About Speaker: Tricia Sinclair I have over 10 years experience in implementing CRM solutions in various roles from Consultant to Architect. I am passionate about delivering quality solutions and sharing my experiences and knowledge about D365 with the community. Conference Website: https://www.2020twenty.net/power-platform-virtual-conference/ C# Corner - Community of Software and Data Developers https://www.c-sharpcorner.com #powerplatform #virtualconference #csharpcorner #powerbi
View Video Transcript
0:00
Guys, this session is totally different to anything you've seen before
0:08
Just see if I can share my screen. Great. So this session is very, very different from what
0:13
you've seen before. As I mentioned, in this session, we're going to be talking about how
0:18
we can utilize the Power Platform to automate dating, especially automate dating with one
0:26
specifically one particular platform, Tinder. Okay. Any questions, comments, please leave it in
0:33
the chat. I will read them after and try to respond to as many questions as possible. So
0:38
please interact. Okay. So let's start off with just a little bit about me, although you've heard
0:45
about me before, so I won't take long on this. I have over 10 years of experience. I'm currently
0:50
a business applications MVP. I currently work at Avanade. These are my social details. So if you'd
0:55
like to reach out to me on Twitter or actually comment on the session, feel free to hashtag for
1:02
the conference and also tweet at me. I do blog a lot about customer service and Azure DevOps
1:09
And of course, you can actually connect with me on LinkedIn. So yeah, that's just a little bit
1:14
about me. And what I'm going to do is I'm going to jump straight into the session, starting off
1:21
in a very story format of the history of dating and why I actually thought it would be a good idea
1:28
in the first place to try to automate the dating process and also create like a hook into Tinder
1:36
So let's start off with where dating started. In the past, of course, we had courtship and
1:46
courtship was a very public affair. I mean, it was something that happened in the outskirts of
1:51
society. And it was kind of fairly, intentions were fairly obvious because men would call upon
2:00
ladies that they were serious about in front of the families. So it kind of provided a
2:07
safety net for women against what you would call rogues to ensure that their intentions were
2:15
honorable. Now, you would have had your robes, but in large part, it was fairly few because any
2:24
scandalous behavior would actually deem you an outcast from society. So you actually have to
2:30
stick to society's rules because everything was public. Now, this experience with courtship was
2:38
extremely important, of course, because back in that day, the experience for a woman was
2:45
really, really tied towards the relationship that that woman had with a man in terms of
2:50
having a father, having a husband. It was a very patriarchal society. So it was very important for
2:56
a woman to actually have that association to a man because she did not have her own independence
3:04
Now, let's double in into the turn of the 20th century and women's lib. Now, in the turn of the
3:12
20th century, in the era of women's lib, this really coincided with the popularity of cars
3:19
And of course, unfortunately, the war. So a couple of things happened here. Because of the war
3:24
there weren't that many men. Women gained more independence. Of course, then with cars, again
3:30
more independence as well. So with this, you could actually turn away from that public dating that
3:37
we had in the past to more one-on-one dating. But what these two things have in common in terms of
3:43
what happened with courtship and what happens with dating during the women's lip era is that
3:49
you're still dating in and around your own region where you are. You can't actually date someone
3:57
say, for example, in the US or in India, if you are based in the UK, because you don't know them
4:02
right? And you don't know what they're doing. You don't know what life is like. So with this
4:07
with the advent of women's lip and the ability to go out one-on-one, unchaperoned, it changed the
4:15
dating landscape, right? And then it basically allowed the term dating to be coined where
4:23
a woman basically told a gentleman, this is a true story, that all the other gents are filling
4:30
up my dates. So that's actually where the term date comes from. Okay. And then if we basically
4:37
move on a little bit more in time, we have the advent of the internet. So with the internet now
4:45
with the first computer-based dating, and this actually came about by two Harvard alumni
4:51
that actually created a questionnaire, a dating questionnaire using an IBM computer
4:58
And they basically allowed everyone to pay $3, which at the time was a lot of money, to basically fill out this questionnaire
5:08
They would pop it into the computer and the computer would come up with their perfect match
5:12
So this is actually the first documented sign of actual computer-based dating
5:19
But it's actually interesting because, again, it really is down to whoever is actually in your local region
5:25
So again, it's talking about shared experiences and you know these people and the likeliness is that you will actually have people that are in common in that time as well
5:35
And of course, here you can actually go on chaperone one on one, but now it's just much easier
5:44
So let's fast forward on to current times. So if we look at the emergence of social media and the impact of dating where dating is now based on people, which is just a click away, then you can actually see how we've progressed away from the chaperone type of dating where everything was, you know, out in public
6:06
You had less rogues. You had people who were well-intentioned to people doing one-on-one
6:15
dating to people who could date multiple people at once. And now with social media
6:23
people didn't have to be who they say they are. So online dating in the first onset is really where
6:31
the first origins of this came about. Now, online dating, when it first came about
6:36
wasn't actually that popular for the general masses because it obviously had a taboo about it
6:42
It was still thought of as, you know, you should date one-on-one and you should have met that
6:48
person. And online dating, of course, you're meeting a stranger, which is not what dating
6:54
according to society, was all about. And the social media changed all this because now
7:01
you can actually have a glimpse into someone's life and actually feel like you knew that person
7:06
which basically changed the perception of online dating to being taboo to now being acceptable
7:13
And then, of course, we move away to towards dating apps. Now, dating apps, of course
7:18
provides that opportunity to meet more people, to meet people that you never had, would have had the
7:25
chance to meet in the past, especially when we look at how we dated in the past with the
7:36
questionnaires, with the chaperones, or even with the women's live movement. So we have now the
7:45
ability to pretty much, with a phone, actually interact with multiple hundreds of people. And
7:53
with dating apps, this is pretty much where the gamification of dating really started
8:00
And when they talk about gamification, I think Will Dorrington has this really brilliant session
8:06
about gamification and its effects, where it basically ties you in to using it more and more
8:13
and more. And bear in mind, the whole point of dating is ultimately, well, according to society
8:19
to find someone who you can spend the rest of your life with. Now, if you're gamifying it or
8:26
gamifying it, then that no longer becomes your end goal. It becomes a possible outcome
8:34
but it's no longer the point. So you're never really going to find someone or it reduces the
8:42
chances or likeliness of that happening because you're constantly swiping left, swiping right
8:47
Now, there's so many different types of dating applications. And so if we have, for example, Tinder
8:54
which is actually the most popular dating app out there I believe And this is pretty much where you able to swipe according to how you interested in someone so you swipe I think left for no and right for yes and you actually have a
9:08
look at the person's pictures their profile and you actually see what you know what they're
9:15
interested in terms of Spotify which is like a music service or even their their Instagram which
9:20
is another app that allows you to see pictures and stuff according to what their interests are
9:26
what they're like. You've got Bumble, you've got Match, you've got so many dating apps, right
9:31
Now, the point of that, though, is that with all these dating apps, it's great because you can meet
9:38
so many people, but they have challenges. And these challenges are pretty much what led me to
9:45
think, okay, that's great. We need to do something about it. But what are these challenges? The
9:50
challenges that, well, you know, I came to face for catfishing, players, and time wasters. Catfishes
9:58
aka people who really aren't who they say they are. Who are you really talking to? For all you
10:03
know, it could actually be you think you're talking to a woman, you're really talking to a man, you
10:08
think you're talking to a man, you're really talking to a woman, etc. You also have the concept
10:15
of players where literally they are not really there for what they say they are. They say
10:23
you know, I want to see this relationship, but really what they're after is something a lot more
10:28
casual than what you might want. And then you also got your time wasters who are just really
10:33
there for company. Now I'm there for company too, but they're not really being honest. So these are
10:39
some of the challenges that as a woman or even as a man, you will probably face on these dating apps
10:46
or these websites. So what does this have to do with the power platform and why am I talking so
10:51
much about dating? Well, that was my intro. This is basically where we get to the good stuff. I
10:57
basically created a solution for this. Now, I thought it would be really good to create a power
11:05
app that will allow me to see who's actually out there. Pull all the profiles into this power app
11:11
that will allow me to bulk swipe according to my preferences, right? And of course, I'm a woman
11:18
A lot of women have their lists, you know? If you basically find a woman that says, I don't have a
11:23
list, that's probably not true. Many women have lists in terms of what they're actually looking
11:29
for and what they're not looking for. So what I did was I used the Power Platform to create that
11:36
list of what I'm not looking for. So I can use Power App along with Power Automate to then
11:42
actually display who I would need to swipe left to according to my preferences and what I've
11:52
actually put in my list of nodes. And then use Power BI to actually understand who exactly is
11:59
my actual type because of course as I'm swiping yes or no I'm actually building up a data set of
12:05
you know people that I have come across with because in the power app of course you've got
12:10
the list I'm swiping and then as I'm swiping then I am basically saving information not their personal
12:17
information but just information about them for example utilizing the face api to get their facial
12:23
characteristics? Are they blonde? Are they bald? Do they have mustaches, the sideburns, etc.
12:32
I'm saving all this information into Dataverse so we can utilize that information to generate
12:39
ytics to understand who I am actually more saying yes and no to, who I'm actually attracted
12:46
to. Because I will be honest with you, I gained some insights that I did not know. So now I
12:51
actually understand my preferences and who I actually will deviate to a lot more. And then
12:58
we can also utilize Power Virtual Agents to kind of validate my choice. So for example, automating
13:04
the first message so I can ensure that this person is one, not a bot, although that is a bot
13:12
but ensure that they're not a bot, but also to ensure that they will respond because another
13:19
outcome of Tinder and these dating apps is that a lot of people will ghost you. So you'll basically
13:25
send a message and they will never respond. So we can remove those matches automatically
13:30
which is great. Another thing that we did with the Power App that I'm going to show
13:34
is being able to predict your choices based on your historical choices. So what I'm going to do
13:41
is I'm actually going to pop into my app now and we're going to basically display what that actually
13:48
looks like. And yeah, I'm going to show you how I set it all up and what the different pieces of
13:54
those components are. So let us start off with the app itself. Now, this is my app. Bear in mind
14:05
it is not complete. I am not a designer. I've had people that are basically helping me design the
14:12
look and feel of the app. I'm really good with functionality, just not look and feel. Okay. So
14:17
we're going to start off with the actual profile. Okay. So Tinder, just so you know, has an off key
14:26
that it will provide that's valid for 24 hours at a time. So I'm just going to basically say
14:34
here, and what this is doing is this is pulling in from Tinder and it's going to not only pull in
14:43
from Tinder. As you can see, it's getting the job title, their bios, the ages, et cetera
14:50
and their pictures. All this, by the way, is public information being pulled from the Tinder API
14:56
So for some reason, it's just there. So yeah, we're going to use it. It's also going to look
15:04
through Dataverse to identify keywords that I am saying no to. Because of course, what I would have
15:11
had to do if I were actually on the app is read all this, go through the pictures, and actually
15:17
have to swipe yes and no. It's very time consuming, and I'd rather not. So this basically allows me to
15:25
automate a lot of that. So here you can see the red flags, which are dynamically being displayed
15:30
according to keywords. One of those keywords, you might actually question it, it's fun. And the reason
15:36
I made a keyword of fun is because a lot of people take fun, basically make safe fun, but they
15:43
don't mean fun in a, in a ha ha way. They mean like to have fun, which I am not here for. So I
15:52
basically flagged it. So yeah. So basically it's just going through all the bios to identify which
16:01
one. I am not going to say yes to. Another thing that it's flagging is keywords for dad
16:09
kid, wife, I'm married, things like that. And then it basically flags it. So I can basically just
16:17
bulk say no. So this is pretty much me, life kindering on a C-Share Corner session, which is
16:27
very interesting to me. Okay. So what this is going to do is this is going to send this all
16:33
to Dataverse. And this is also going to update Tinder to say, no, I do not want these people
16:41
Okay. The other thing though, that of course we can do is we can predict, predict who I'm actually
16:48
going to like. So if I can click on predict here, what this is doing is this is now leveraging
16:54
Power Automate to utilize a AI model that I created based on historical data of my past
17:02
likes and dislikes. And of course, we've got their facial ytics, we've got their job titles
17:09
we've got their bios, we've got their ages, we've got a lot of information that we can use to
17:14
understand what my preferences are. So I'm utilizing AI Builder to kind of help with that
17:20
AI Builder and Power Automate is now going to display red for those that I don't want to say yes to and white for those I do
17:31
Now, bear in mind, this is Tinder and Tinder does not have a good data set in terms of me for my personal taste for dating
17:40
So a lot of this will come back red, if not probably all
17:45
it should, because from what I'm seeing, there is no one that I would actually be interested in
17:51
So I will be surprised if it came back with anything Yeah Okay So I will say this this worked And yeah I would actually say no to all of them So pretty much that is the actual app itself What I going to do now is I going to go into the ytics of it all
18:13
So here we have the Power BI dashboard or Power BI tiles rather
18:18
that I've embedded within my app just to get some understanding as to what I'm saying yes and no to
18:26
And then we're also going to go in to Power BI so we can drill in a little bit more
18:31
So I just wanted to see, you can actually see the job titles that actually use Tinder
18:36
or that I'm actually getting presented with a lot. The hair colors, the matches
18:40
there's so many other information and so many other things that we could show
18:44
So here we have it in a full Power BI landscape. But what I also wanted to show
18:50
is actually something that surprised even me. Because if I basically say
18:56
okay, this is the data, this is how many true matches I have. You can actually see that I actually prefer
19:06
people with brown hair, which I did not know. No, it's bald and black, actually. I didn't know that
19:17
I liked people that were bald or with black hair. I would have always assumed that it was brown
19:24
But that surprised me. And then also you can actually see the job titles that I'm actually veering toward being like engineer, which is probably the biggest one, software, director, IT
19:37
So apparently that is probably where I need to focus my attentions on when dating
19:44
Software, engineers, IT, director. Yeah, I've learned from that. Okay, so the last thing is actually Power Virtual Agent, but that is something that is still in progress
19:59
What I've got it to do so far is actually send a message. I'm actually working on being able to receive the message back
20:08
So that is something that I'm going to be blogging about and sharing later on
20:14
Now, let's see how I actually set it all up. So I've got Tinder here
20:20
And when you actually call Tinder, what actually happens in the background, of course, you can use dev tools
20:27
You can actually look at the network traffic. And if you didn't know, Tinder, of course, is an app, but it also has a website
20:33
So when you go onto the website, you can track the call to the web service
20:40
And you can actually then look at the network tab and actually see what APIs are actually being called
20:44
So here you can actually see that the URL that's being called is, you know, it ends with core and basically utilize this, pop it into, what do you call it
20:59
Pop it into Postman and replicate the service. So you've got the path that you need to call
21:07
You've got the header that you need to call. And then, of course, you can see here that every single call it's making, it's using this auth token
21:15
So you can utilize that auth token and actually just replicate the service call
21:20
So I have this service call here. So I bring this up in my Postman client
21:30
You can see here, that's exactly what I did. I took the web service, I took the API, and I took the necessary action
21:43
I then popped in the auth token, which is the exact key that is needed
21:48
And then when you press go, you actually get the response. Now, if you're familiar with Power Automate, Power Automate allows you to do two things
21:58
It has an HTTP connector where you don't actually need to go out and build your own repeatable solution
22:09
For example, a custom connector is a repeatable wrapper that allows you to reuse the same call, web service calls
22:19
by just putting in, for example, different security authentications, et cetera. Or you can just use HTTP
22:27
Now, what I did was I actually built a custom connector for the Tinder API
22:35
And when I did that, that then allowed me to basically pull that information into Power Automate
22:44
So, for example, if I pull this here, sorry, one second. I need to, one second
22:54
And what I'm going to do is I'm going to populate this so you can actually see. Yeah. So when I actually then use the make the call in Power Apps
23:08
what's happening is it's then basically making that call, the same call that we had in Postman
23:14
through the custom connector and populating the collection. So here you can actually see that I've got a variety of collections
23:22
The one that's being populated is the user profiles, right? And within the user profiles, of course, you have all the information, including the additional details of the user
23:35
You can also see if they have Spotify, Facebook, what type of user they are, if it's a dead account or if it's actually active, all this information
23:43
If they've actually enabled Superlike, which is basically a paid for service by Tinder
23:48
You also can then pull in. So the other calls are being made, of course, is the call to my dataverse
24:01
The dataverse basically shows showcasing what keywords to look out for. And then it's basically sending it to this collection as well
24:09
And of course, the facial attributes, that's also another collection that's going to be populated as well
24:16
So this collection is basically populated from another call that is also being triggered through Power Automate
24:25
Okay. So if I actually go into each of those Power Automate functions
24:36
Yeah, perfect. So here what we're doing is we're yzing the user bio
24:42
So bear in mind where we went from was we had a look in Tinder
24:46
We took the API and the calls that Tinder were making. We created our own postman collection
24:55
We took that collection and we created a custom connector in Power Automate using that collection
25:03
Okay. Then we're able to pop that into Power App to populate a gallery
25:10
And also as a part of that population, as a part of that formula, we're also calling two additional flows or Power Automate flows, cloud flows
25:23
One which is populating the red flags. So it's basically populating a collection of red flags
25:31
Okay. So here you can actually see that we're utilizing the relevant connectors
25:41
It's basically what I'm trying to showcase here is that utilizing the Power Platform
25:45
we're just basically pulling in and pulling the components together. Okay. So the next thing that we also then did was we leveraged the HTTP connector
25:58
which is how we got the face API. Because of course, the face API actually also has a standalone connector
26:09
but I really just wanted to showcase what was possible using the different types
26:15
custom connector, standard connector, or HTTP, and we're able to do all of those
26:21
Okay? Cool. So the next thing that I actually want to showcase as well is
26:31
my laptop is now going a bit slower than normal. So apologies for this
26:43
Try and click on that. So the last thing that we did was, of course, we showcase the prediction of what I'm actually going to like
26:50
And this prediction is basically using that model that is pulling in from my historical preferences
26:56
the model that I actually built, and then basically just sending back the prediction
27:02
and the percentage likeliness of me predicting of the value of me predicting it So if I actually click on this as well great
27:12
So here you can actually see the prediction score, the likeliness value, as well as the user ID applicable
27:19
Okay. And the last thing that I actually want to show here is
27:28
apologies for this, what's that? Okay, so the last thing I actually want to show here, of course, this is my list of absolute no's
27:40
So you can actually see what are my absolute no's. And these are things that actually, yes, do get populated and people put this in their bios
27:49
I'm like, no. So here you can actually see the model that I've actually built
27:55
And with the model, bear in mind, you have to have a certain amount of data in order to properly train your model
28:04
And this model is basically just a quick way without needing to know a lot of things about machine learning and Azure Machine Learning Studio
28:16
You can actually create your own model that actually is a local way of interacting with that service
28:23
You don't need to be a data scientist. Okay, so I have been able to create this. And what it does is it basically utilizes particular fields that I have basically given it. So it uses the data, the relationships, and you basically specify what you want to add as an input. And it understands, it learns from that. And then it trains the model several times
28:49
And basically, the more the model is trained and the more data is provided is the more accurate it's going to be
28:55
As you can see, it's not the most accurate model, but it is trained daily
29:02
And because it's trained daily based on more accurate information, then the best model could actually
29:10
So because it's trained daily, then it could actually likely increase. So I think yesterday it was actually at sea and I didn't publish and I should have
29:19
But you can also see what data is actually influencing the scores that it comes up with
29:26
So what data is actually being influenced? If you are a Power BI person, it's like using key influencer
29:33
What's the influence of the data? Okay. Cool. So I just want to basically go back briefly to my presentation
29:46
If my laptop will let me get this as well. I apologize for this. My presentation just closed. So I'm just going to basically finish the
30:28
presentation whilst I reopen it. So basically what I just showed was pretty much four main key things
30:36
I want you to take away from this. One of which is data. Now bear in mind, this is not possible
30:44
without data. We're using Tinder's data, but what data do you have in your orbit? And if you want to
30:52
play around with the Power Platform, if you're just getting to know the Power Platform, then to be
30:56
honest, the best way of learning it is actually to do it using a, to utilize a scenario that you're
31:07
actually interested in. As I mentioned at the start, my point was really just to see what was
31:14
possible with what was out there at the time where I was trying to see what apps were out there. And
31:20
I found this one and I basically worked with it and I expanded upon it utilizing the Power Platform
31:26
You can actually find data, you can find a scenario and you can build on that using different
31:31
solutions and different components. And the thing is because, sorry about this
31:37
and because the solution is actually, because the power platform is very modularized and is a tool
31:47
you're able to utilize that tool to pretty much make do with what you want it to do. You're
31:54
basically the master of the power platform, okay? So one second. Apologies. For some reason
32:03
my laptop is really having it today, which is not ideal. Okay. One second. Okay. The next thing
32:20
that I want you to take away is the use of a custom connector. Now, you've got the use of a
32:26
custom connector, of course, because you might have, for example, a system that is on-premise
32:33
and you can't actually interact with on-premise systems without a custom connector
32:38
Yes. So you can actually totally do that. The easiest way that I have found personally is to ensure that it works using Postman and
32:46
then pull that in. Now, there is a change in Postman where it has been upgraded and it is no longer possible
32:54
to export that collection. That is something that is being worked on by the product team, I believe, and that should
33:01
hopefully be possible again. If you do have a previous version of Postman, then it's still possible
33:07
You also have to consider, so it was data, it was then the custom connector, and then also understanding what the differences are between the custom connector and HTTP
33:22
The answer is not much. These are just different ways of actually calling the web service
33:27
It's really up to you and your situation and your use case as to when you use which
33:31
And the next thing I actually wanted to cover was the AI builder. So AI builder has so many different opportunities for you to actually leverage and use the data. So for example, being able to take a picture of a page and transcribe that digitally into text, into CE, or being able to yze, for example, I did it for am I going to say yes, yes or no
34:01
But you can also do it to actually understand, is this project likely to be late or not in terms of a project situation
34:07
And then, of course, you also have the ability to transcribe from translate languages, utilizing Azure Cognitive Services
34:18
Again, these are all different possibilities using Azure Cognitive Services and AI Builder
34:25
Um, now I think the next, the last thing that I was going to talk about, if my slides hadn't
34:31
totally crashed, um, was did it actually work? Um, and the answer to that is in a way it did
34:41
because through the course of actually creating this, um, this solution, I was able to meet some
34:48
really amazing, awesome people and I got flowers for Valentine's day, which was like really happy
34:54
for me. But yeah, no, I am still, you know, totally like don't have a boyfriend, but that's
35:02
fine because, you know, the point was really learning and off meeting the dating process
35:06
which in a way I am on my way to doing. So that worked, but it did not work to find me a boyfriend
35:14
So yes and no. The last thing I want to do is really put some thanks out there. I want to really
35:21
thank Keith Watling and Yosh and Samia for actually supporting the app as testers, as
35:30
idea generators, and also Dave Bostock as well, and for trying to help me beautify this app
35:37
which hopefully will be beautified soon. Now, the last slide that I would have had is pretty much
35:43
the end slide, which is basically where I say thank you so much for joining my session today
35:49
which I assure you is a totally off the cuff session. I'm not like any that I've done before
35:56
but yeah, I really hope that you enjoyed it
#Dating & Personals
#Matrimonial Services
#Personals
#Romance