Engineering Blog

How We Made Yelp Search Filters Data Driven

Yelp has an incredible amount of information about businesses to power local search experiences. Many of our users use our advanced search filters to explore and find exactly the place they are looking for. While most people don’t have any trouble filtering their searches using filters such as price, distance, and rating, it was harder for users to employ our more specialized filters such as “Outdoor Seating” or “Live Music”. We set off on a mission to make our advanced filters more approachable for casual users without hindering the experience for our advanced users. Before designing the new filters, we...

Continue reading

It's The Holiday Season and We’re Giving You A Present: PaaSTA!

In case you missed it last month, we open sourced PaaSTA, our platform-as-a-service which received a lot of excitement and support from the community. We want to bring our friends together to learn more, so we’re hosting our last Yelp Tech Talk of the year in conjunction with Mesosphere on December 17th, featuring PaaSTA + Mesos! Our lead engineer on PaaSTA, Kyle Anderson, will introduce the platform and speak to how it uses Mesos to power our SOA architecture while Sunil Shah, from Mesosphere, will speak on Mesosphere’s DCOS and how it enables PaaS tools like PaaSTA to exist. We’ll...

Continue reading

Introducing PaaSTA: An Open, Distributed, Platform as a Service

As an Operations engineer, my first priority is to keep the site up. A close second is enabling developers to quickly go from an idea to running code in production. Once an organization grows, the only sane way to ship code with any reasonable frequency is to split it up into microservices, also known as building a Service Oriented Architecture (SOA). We’ve previously talked about the philosophy behind services and why we build them. This blog post explains the tool we use to make those services available to developers: PaaSTA! What is PaaSTA? PaaSTA is Yelp’s platform-as-a-service. It allows developers...

Continue reading

Getting Festive In November

Last month a group of Yelp engineers attended the Grace Hopper Conference in Houston. We had a great time presenting on crucial conversations and talking to amazing women at our after party. To keep the momentum going through the holiday season, we’re ramping up to launch our 18th internal hackathon at the beginning of this month! On November 7th, we’re excited to be partnering with Next.ML to bring machine learning workshops and panels to Yelp HQ. We’ll be hearing from leaders in the industry on a number of topics and will contribute to the presentations by sharing some of the...

Continue reading

Yelp Hackathon 17: Jurassic Hacks

To an outsider visiting the Yelp offices last month, it would’ve been quite a fascinating sight. People were huddled around whiteboards brainstorming the next killer idea. Floors were lined up with copious fresh fruits, snacks and catered gourmet food. And most noticeably, our all-hands space was transformed into a Jurassic World-like set complete with inflatable dinos, prehistoric plants and laser guns to shoot down malicious targets. Welcome to the 17th edition of our internal Product & Engineering Hackathon! Our SVP of Engineering kicks off proceedings with a Mimosa Toast Engineers, product managers and designers across all of our offices came...

Continue reading

Fullerite: A New Mineral To Collect Metrics

Collecting System Metrics at Scale Monitoring system metrics (e.g. CPU utilization, loadavg, memory) is not a new problem. It’s been necessary for a long time and there are a few that already exist, most notably diamond and collectd. At Yelp, we run thousands of different machines hosted all over the world. The simple volume of metrics we monitor quickly starts to complicate how we collect them. After trying out a few different solutions (and breaking many things) we decided to write our own: fullerite. A History of System Metrics Collection We started using diamond to report our system metrics. Everything...

Continue reading

How We Use Deep Learning to Classify Business Photos at Yelp

Yelp hosts tens of millions of photos uploaded by Yelpers from all around the world. The wide variety of these photos provides a rich window into local businesses, a window we’re only just peeking through today. One way we’re trying to open that window is by developing a photo understanding system which allows us to create semantic data about individual photographs. The data generated by the system has been powering our recent launch of tabbed photo browsing as well as our first attempts at content-based photo diversification. Building a Photo Classifier One can imagine a variety of ways to tackle...

Continue reading

ElastAlert: Alerting At Scale With Elasticsearch, Part 1

Elasticsearch at Yelp Yelp’s web servers log data from the millions of sessions that our users initiate with Yelp every day. Our engineering teams can learn a lot from this data and use it to help monitor many critical systems. If you know what you’re looking for, archiving log files and retrieving them manually might be sufficient, but this process is tedious. As your infrastructure scales, so does the volume of log files, and the need for a log management system becomes apparent. Having already used it very successfully for other purposes, we decided to use Elasticsearch for indexing our...

Continue reading