June 10, 2019
Let’s build an app. And we’ll use machine learning to make it better.
It’s called decode. It connects freelance designers and developers, so you can work on fun projects together.
Introducing Marie, a designer from Barcelona. She heard a friend talking about Decode and thought it might be helpful.
But first we need to feed this model! We’ll be training our model to show Marie developers who are the right fit.
We want Marie to have a really good experience. What’s good? We determine that a good measure is showing a developer she wants to send a message to.
We notice Marie consistently picks the developer who lives in her timezone. So we make sure to highlight that option each time.
Marie doesn’t really know how we pick developers, it’s a black box to her. So let’s explain! Rather than just showing a list of developers, we title the list with something like “Developers in Barcelona” or “Because you are based in Barcelona”, or “Based on other developers you have messaged.”
We can’t be certain we are showing the ‘best’ developers. Rather than saying something vague like 67% match, we could tag a developer with “Best Match”, or “Most Compatible” or “Top 10%”.
To calibrate the system, we might ask Marie a few questions like — What is most important to her? Or what programming languages does she know? We allow her to update these preferences at any time, but we are careful not to bombard her.
As Marie clicks, messages, and interacts with developers, we are gathering implicit feedback. If our model is working, she should be sending lots of messages, and will be satisfied with the system. If the first thing she does every time she opens the app is to check her inbox, maybe we show that first! But maybe don’t show developers based on certain phrases she’s typed. It’s crucial to maintain trust and respect privacy.
We notice that Marie (and our other users) send lots of links back and forward with each other. Maybe we create a new feature that pulls out ‘important’ links into a bookmarks section, for quick and easy access.
Well, what if those bookmark stories aren’t relevant? Maybe she sends lots of silly, non-work related links to a developer named Ryan. The feature is useful for her other conversations but not from Ryan. Could we ask Marie directly if she wants to see them? We could provide an option that says “show me less from Ryan.” That’s pretty clear. Or is it? Marie are you still there?
Is this a good app? No.
But one thing is clear.
Machine Learning has changed design forever.