Building a Restaurant Discovery Service with Postman
The San Francisco Postman office has a team lunch every week, which is great. But making choices is hard. While picking a place to go for lunch, we’d waste precious time deliberating whether we wanted burritos or curry, gyros or pelmeni, dosa or ramen. Worse still, our spontaneity is limited. We would debate within a small, stable set of choices each week, despite being surrounded by hundreds of restaurants. As an engineer, I wanted to see how much of this process could be automated and optimized using Postman. Maybe Postman could save us some time and get us out of a rut.
Fortunately, Postman rose to the challenge. With collections, it’s possible to define complex API workflows, execute custom logic, and run collections on a schedule with Postman monitors. In other words, Postman collections had all the functionality needed to build a restaurant discovery service that could pick places for us to eat each week.
The result was Lunch Picker, a collection that could be configured to work for any person or office that uses Slack and operates in any country where Yelp is active. When the collection is run using the Postman collection runner, it gets restaurant data from the Yelp Fusion API, does the difficult rumination over the choices for you using a custom selection algorithm, and posts a short list of lunch options to a Slack channel. The behavior is customizable with environment variables that can set properties such as the search location, search radius, and price range.
The Lunch Picker collection is free for anyone to use and modify. Try it for yourself and never go hungry again!
Try it yourself
Click the Run in Postman button to import the Lunch Picker sample collection and environment template into your Postman app. Update the required environment variables with your own personal credentials, and then run the collection locally.
You can customize the behavior of the lunch picker with optional environment variables. Try updating the search radius or the price range to improve your results, or even set favorite restaurants to improve the chance of those restaurants being picked. Once you have the settings you want, set up a monitor to get periodic recommendations.
Need help getting started? Read the Lunch Picker collection documentation for step-by-step instructions and helpful references.