At OpenTable, recommendations play a key role in connecting diners with restaurants. The act of recommending a restaurant to a diner relies heavily on aligning everything we know about the restaurant with everything we can infer about the diner. Our methods go beyond using the diner-restaurant interaction history as the sole input — we use click and search data, the metadata of restaurants, as well as insights gleaned from reviews, together with any contextual information to make meaningful recommendations. In this talk, I will highlight the main aspects of our recommendation stack built with Scala using Apache Spark.