Max Sklar: Chapter 1: How to break through with recommendation, anticipation and product design
24 Sept 2018 · 7 min
Max Sklar, a machine-learning engineer at Foursquare, built MarsBot, a context bot that sends location-aware suggestions via SMS. He explains how it used check-in data and tips to suggest an English muffin at exactly the right café, and why the best engineering problems are ones with infinite solution spaces that can't be solved once and forgotten.
Chapters
M-A-C-H-I-N-E-Y-E-S-T-I-X-T. It's Machine Yearning from Assist. Another week where we continue on this adventure where marketers, brands, and entrepreneurs get to have a place to think, dream, and ask questions about the future of AI, the talking internet, and how we're reshaping our culture. This week is a rocket, and the rocket has a name: Max Sklar. Max is a machine learning engineer at Foursquare and is a fountain of smart, concise thinking on recommendation, anticipation, and how to break through with your product design. In this chapter from the longer podcast, Assist's Shane Mac got so much goodness from his fellow podcaster. We think this is so packed with goodness, you'll want to give it a few listens and definitely share it with friends. Then make sure you check out Max's pod, The Local Maximum.
It's awesome. Tell us about your work at Foursquare.
I had worked on a sort of a local search type website back in 2005. It was called stickymap.com. Um, it's still up sometimes.
Sticky map?
Yeah, sticky map. It's still up. It's— it was— this is like 2006. It's like Wikipedia for maps kind of a thing, and people would post little icons all over the map. I guess you would call them emojis now, and they would leave little messages. And I thought it was really cool that, like, okay, I had no idea how to turn this into a business, I had no idea what to do with it, but it was pretty awesome that people were actually using this thing I built and annotating a map, essentially. You know, "Share your neighborhood" was kind of the tagline that I put on the site. And so I discovered Foursquare in 2010, you know, when I first got my smartphone. But I opened it up and I immediately recognized, oh, this is like a whole other level to what I was looking at a few years ago, because now people are interacting with the different venues while they're there. You know, this is the mobile era now, and, you know, people are checking into venues, telling their friends they're there, they're annotating it while they were there. I mean, with my website, I would go out all day, I would come back at night, and, you know, fill out what I did. Like, that's kind of a drag. And I'm like, wow, this is This is the way to really get it to take off. So I was immediately interested in it, and I was interested in how they wanted to build a really good recommendation engine, and they wanted to use real machine learning. So I was like, okay, this is perfect. This is what I want to work on.
When you saw the check-in, did you think, ah, that's the annotation on the map?
Yeah, yeah, exactly. Like, I was like, oh, and the fact that it was gamified very heavily back then, I was like, because I had trouble You know, I was like, okay, this is fun for like a small group of people, but how do you get a larger group of people to sort of annotate the map was always kind of elusive to me. It was like, you know, you try to build a good user interface. There are a lot of very difficult problems to solve. Just mobile in general, which seems too obvious now, but in 2010, I guess it was less obvious. It was more mind-blowing, was just the answer to a lot of these questions.
And now that's evolved into MarsBot. What is MarsBot?
Mars Bot was a little app, a little chatbot, I guess, that we built a couple years ago. And that's kind of our stake in the ground as a company as to, okay, what do recommender systems look like, you know, in 10 years from now? And so we sort of tried to reimagine everything that we worked on. Okay, we have all this context. Sometimes we call it a context bot, not a chatbot, because you don't really chat with it as much. You can, but mostly it's like, okay, we know when you walk into a restaurant or a café, we know what the best things to order there are, we know what the best thing is to do next given what you're doing now. So given that we have all this contextual information, all these contextual recommendations to give, how can we kind of package that into something that's really lightweight? Essentially, you download the app. The app just contains our technology. Which detects your stops. It doesn't really do very much. And then all you do is, you know, you get a phone number and you can receive texts from it and text it back. And so it's very lightweight and it's like, okay, you know, what can we do with that? How can we use all the technology that we had built up to 2015, 2016 and kind of bake it into an app like this? And so it was really, it was a really interesting project to get started on. We still learn a lot by looking at it. It's not under like active development right now, unfortunately, but we may be able to pick it back up in the future.
One thing you said there is the first time I've heard someone say it, context bot versus chatbot.
Okay.
That's a very interesting difference. And I think is what you're saying, it's about anticipation versus automation. It's about anticipating what I'm going to do next and delivering that to me the right moment, the right time, not necessarily me chatting with this bot. The way you meant context bot was that it's always going to deliver me in the lightest possible way via text what I should do and what I should do next.
Okay. Yeah. Let me give you an example on that. You know, I was in San Diego a few months ago and I was staying with my cousins and my cousin Jordan drove me to the airport. And before we got to the airport, we stopped at a cafe that he likes and, you know, for breakfast. And so we sat down and the waiter was about to come over and all of a sudden I got a text And I looked down and the text was from MarsBot and it said, "The best thing to get here is the English muffin." And I was like, "Okay, well, that's interesting. I don't know if that's what I'm going to get right now." So I went to order and then the waiter said to me, "Okay, do you want toast with that or do you want an English muffin?" And I was like, "Oh my God, well, MarsBot just told me the answer to that question." So of course I ordered the English muffin. Of course it was delicious. And it was like, it knows, and the reason why it knew about the English muffin was because so many people who go to that place mention the English muffin when they check in, they talk about English muffin in their tips, we have all this statistical code and all this natural language processing code that pulls out the, what we call the tastes, the noun phrases, I mean, I worked on every layer of this, and then, so, that sort of endpoint was, and then, not to mention the idea that, okay, it knows that I'm in this cafe, and then it knows to give me this recommendation like 2 minutes after I get there. It's like all of that comes together to give you the right piece of information at the right time. And so that's what we mean by context. In our case, context is where you are and a little bit about that place. That's sort of what Foursquare is, you know, really good at. But other services, I would imagine if you want to zoom out to ask, you know, what's a context bot in general, certain services would have to have a certain piece of information that's more than like just the general piece of information, certain information about you, certain information about what situation you find yourself in right now to, to really help you out.
Fascinating. This reminds me, I read, I read a quote that you wrote that you said, uh, and I thought it was a great quote. You said the most interesting real-world problems are ones with endless possibilities where it is not feasible to explore the space of all possible solutions. This can be frustrating when you're in problem-solving mode as an engineer, but I've grown to embrace it. Tell me how you came to embrace it.
Yeah. Yeah. I mean, that's, I guess, what I came to the realization on when I was in grad school. I don't think I would have been able to put it that succinctly at the time, but that's sort of why I was kind of unhappy, I guess, with some of my earlier engineering roles, you know, back when I was kind of new at it my first few years where the problem was kind of, really set in stone. It was like, take these numbers and then combine them, and we already know what the answer is. We just need it automated. And I kind of came to the conclusion later on, no, the interesting problems are problems that can be automated like that, is something that can be solved very widely. It's very easy to copy. But if there's a problem like, you know, giving someone a recommendation, or even something as diverse as like optimizing an ad campaign, or anything like that nature where there's, there's way too many dimensions and like way too many possibilities for anyone to have like the right answer. Well, if you have a product that really figures that out, you're going to be ahead of the curve and it's going to be very difficult for someone to copy you. But also it's going to be really, really interesting trying to solve that problem because you're constantly tinkering. You don't really know exactly where you're going to go with it. Sometimes you try to automate your tinkering, but then that automation is something you have to tinker with. So yeah, that was my realization.
Thanks for listening, and we hope you'll take a second and share this episode with other members of your team. Actually, just make it easy on yourself. Just subscribe so you never miss an episode or a chapter. That way you can be the first to stay on top of this field and help shape the conversation at your company. Get in touch on Twitter @MachineYPodcast. DMs are open. We're super interested to hear who you think should appear on the podcast. Machine Learning is made by Paul Ciuffo and Michael Elsesser for Limina House. Have a great day.
More from Shane
Haley "Zap" Zapolski Interviews Shane Mac About Nashville, Startups, Investing and How To Build Global Companies From Nashville, TN