Engineering Blog

Announcing the Winners of Yelp's Online Hackathon

The results are in for the inaugural Yelp online hackathon which was held a few months ago (Jan. 25-Mar. 25). We were looking for cool, innovative uses of the Yelp API and received 60 submissions with 759 developers signed up to participate from around the world. Winners were chosen based on originality, user experience and effective use of the Yelp API. Our esteemed panel of judges poured over the entries and chose the following winners: 1st Place - Grand Prize Winner Yelpify by Raj Nagasubramanian Yelpify is a Chrome extension that adds Yelp ratings to Google search results, OpenTable, GrubHub...

Continue reading

Yelp Restaurant Photo Classification, Winner's Interview: 1st Place, Dmitrii Tsybulevskii

A few months ago, Yelp partnered with Kaggle to run an image classification competition, which ran from December 2015 to April 2016. 355 Kagglers accepted Yelp’s challenge to predict restaurant attributes using nothing but user-submitted photos. We’d like to thank all the participants who made this an exciting competition! Dmitrii Tsybulevskii took the cake by finishing in 1st place with his winning solution. In this blog post, Dmitrii dishes on the details of his approach including how he tackled the multi-label and multi-instance aspects of this problem which made this problem a unique challenge. This interview blog post is also...

Continue reading

Dropdown Like It's Hot

As our number of mobile web visitors continues to increase, we want to make sure that the user experience is great on small screens. This quarter, we took some time to assess our reusable UI components and look for ways to improve their behavior across devices. We found a lot of room for improvement in our dropdown component - it looked great on desktop, but it was hard (i.e., in some cases it’d go offscreen or touch/tap being not very smooth) to use on mobile devices. Story We built our dropdown component to be generic enough to handle any use...

Continue reading

Distributed tracing at Yelp

Yelp is powered by more than 250 services, from user authentication to ad delivery. As the ecosystem of services has grown since 2011, performance introspection has become critical. The tool we chose to gain visibility was Zipkin, an open source distributed tracing framework. Since most of our services are built with Pyramid, we built instrumentation for Zipkin called pyramid_zipkin and a Swagger client decorator, swagger_zipkin. Below, we walk you through how we use these powerful tools at Yelp and how you can leverage them for your organization. Why Distributed Tracing is Critical in an SOA Environment If you get an...

Continue reading

ElastAlert: Alerting At Scale With Elasticsearch, Part 2

It’s 10:51 PM on a Friday, and someone on the internet has decided to try to break into your network. They are guessing passwords and generating failed login events. Your security team is paged, the attacker is blocked, and everyone can go back to bed. This is one example of the power of ElastAlert. Now we’ll give you background on how it works and how to set it up yourself. In part one of this blog post, we introduced an open source alerting framework for Elasticsearch which allows you to match and take action on a wide variety of patterns....

Continue reading

Introducing venv-update

venv-update is an MIT-Licensed tool to quickly and exactly synchronize a Python project’s virtualenv with its requirements. This project ships as two separable components: pip-faster and venv-update. Both are designed for use on large Python projects with hundreds of requirements and are used daily by Yelp engineers. For complete documentation, please see http://venv-update.rtfd.org Making large Python projects painless The majority of yelp.com is implemented in a single Python project, dubbed “yelp-main”. Initially, yelp-main installed all of its dependencies at the system level. We’ve done the work to transition this to using virtualenv, and managing yelp-main’s (Python) requirements via pip and...

Continue reading

Leaping into February

February is going to be an exciting month! We’re looking forward to hosting our third Girl Geek Dinner next week which will feature talks from Yelp engineers on topics like learning, system performance metrics, and service monitoring. We’ll be present at the WSDM Conference that focuses on data mining and search, and at the Lesbians Who Tech Summit in San Francisco. If you’re in the area, swing by to say hi! We’ll be the ones giving away the infamous Yelp mints. This month we’ll also be hosting SF Python, Designers + Geeks, and Products that Count in the office. At...

Continue reading

Announcing the Yelp Dataset Challenge Round 7

What can you learn from a Photo? Show us with the Yelp Dataset Challenge Round 7! The Challenge The Yelp Dataset Challenge provides the academic community with a real-world dataset over which to apply their research. We encourage students to take advantage of this wealth of data to develop and extend their own research in data science and machine learning. Students who submit their research are eligible for cash awards and incentives for publishing and presenting their findings. A new round of the Yelp Dataset Challenge (our seventh already!) opened on January 15, 2016, giving students access to reviews and...

Continue reading