« November 2011 | Main | June 2012 »

April 2012


After Hours Project: Simulating Flight with Kinect

If you could have any superpower, what would it be? (You can't say the power to get more powers.) If you're like me, it'd be the power to fly. Unfortunately, I'm not a Superman, Neo, nor a bird. I'm a software engineer at Yelp; I make things happen by writing code. So I started to write code that tricks me into feeling like I'm flying. What I ended up with was a Mac app that allows you to control a quadcopter by flapping your arms like wings.

To do this I used the Microsoft Kinect, a Parrot ARDrone quadcopter, OpenNI, and the app I wrote, KinectWings.

How Does it Work?

KinectWings uses the Kinect and OpenNI to track your body position. It monitors your body for movements that look like flapping or tilting. When a flap or a tilt is recognized, KinectWings sends control messages over wifi to the ARDrone. Video from the quadcopter is transmitted over wifi back to KinectWings, where it's displayed for the user. When used in front of a large screen, it creates the illusion that you are flying by flapping and tilting your arms.

I Want to Fly!

If you've got some code know-how, you too can build software to control hardware using your body! I've opensourced an example project for using OpenNI in Cocoa applications for OSX. This provides a good starting point for doing skeletal tracking using a Mac and Kinect. I've also opensourced the changes I made to the ARDrone SDK so that it works on Mac. Check them out on GitHub!

Newsflash R. Kelly! I no longer believe I can fly, I can fly.


Hack@thon 7: Are You a Nerd?

It’s that time of year again: when Yelp engineers huddle for 48 hours to dream up and build some trippy stuff -- and Yelp Hack@thon 7 proved no different!

There was everything from custom Magic: The Gathering cards personalized for Yelp, our own version of Hungry, Hungry Hippos with (you guessed it) Hungry, Hungry Yelpers made in HTML5 to LOLPython on Monorails that featured LOLcode instead of Python (with some funny web framework to go along with it!).


That Magic: The Gathering card look familiar, Jeremy?

In past years, we’ve provided a deeper look into some of the projects our team has created, but this time around, we wanted to give you more insight into the people and teams that hack at Yelp.


Hungry, hungry Amir!

Check out just what goes on at a Yelp Hack@thon below and let us know, what makes you a nerd?



Day in the Life of a Yelp Systems Engineer

Meet Julien R., Yelp systems engineer extraordinaire! When he isn’t keeping San Francisco green by biking to work or brewing his own beer at home, this well-rounded engineer keeps Yelp running day and night. So, totally not multi-talented at all. Julien recently took some time to share his favorite stories during his three plus years at Yelp. Check it out!

What did you do before coming to Yelp?
I studied electrical engineering at Lehigh University in Pennsylvania. During one of my summer vacations, I did an internship for a small network engineering company and got my CCNA. Once out of school, I got a job at Friendster as a systems administrator.

How did you first hear about Yelp and the job opening?
My high-school friend Jane K. interned and worked at Yelp and referred me to the job. She tooted the Yelp horn long before I was looking to make a change in my career. When I eventually started looking, I applied to many places, but what made Yelp special was that it was one of the few places that I could honestly express my excitement when asked the question: "Why would you want to work at Yelp?"

What's your title at Yelp and how long have you been with the company?
I am a systems administrator and I have been with Yelp for 3½ years. In that time, there have been lots of changes, but I love that Yelp still has a spunky personality and a fun work environment.

What comprises a typical day for you?
Every day I bike to work, but the rest isn’t always so routine! My main goal is to keep the site up and running, but I also have the flexibility to work with my manager and my team to prioritize my tasks. Currently, my main projects have been to monitor and add new metrics for graphing performance over time (i.e. search service) and monitoring system health. Recently, I have also been involved in expanding our processing capacity. This has been exciting because I get the opportunity to be involved across our infrastructure, including hardware selection, networking, and datacenter work.

What's the best part of working for Yelp?
It’s the people and the culture. It's exceptional how many knowledgeable people work here. Also the management style is really cool. My boss is on my team, but also advocates for me and provides direction -- while still leaving me with lots of freedom! It also helps that there is a culture here which creates knowledgeable managers. It is a huge advantage to have a manager who understands the technical side of what is feasible and how hard it is to accomplish tasks.

What is your favorite perk at Yelp?
Definitely the kegmates on the 10th floor. We have an unofficial team of beer enthusiasts who pick out rare beers for our kegmates. I may or may not be on this team (meaning potential candidates now know who to suck up to :).

What has been your favorite memory at Yelp?
Yelp offsites! Particularly one we had a few years ago. We rented out a meadow in Golden Gate Park and had a picnic with outdoor games, BBQs, beers, and a dance floor.

What separates Yelp from other places you've worked?
The leaders in the company are accessible and make time for their employees. While the company has grown, they still maintain a start-up mentality and take the time to get to know us. They also help make sure that the environment is fun and enjoyable for employees -- which is certainly visible if you take a look at our 10th floor space complete with a kitchen with snacks, pool, eating areas, sofas, beer on tap and more.

Finally, what would be your one piece of advice for someone interested in your role?
I really like how personable everyone is at Yelp and how everyone has a passion outside of just Yelp (though we’re passionate about that, too!). So, be honest about your interests, share your passions both in work and out of work and be willing to share your war stories during an interview. 


Diving into Yelpy Insights

As you may have seen on our Yelp Official Blog, we recently did a post on a new feature we are testing: Yelpy Insights. Here on the Engineering and Product Blog, we wanted to dive into the work our engineering team did to help discover and display Yelpy Insights.

The Idea: Yelpy Insights was actually borne from feedback we had received from vegetarian yelpers (and in fact, some members of the engineering team!) that finding a good place to eat vegetarian food was tricky. For example, some things that are liked by vegetarians are also liked by omnivores, but some things are only liked by vegetarians.

The search team set out to help create a better search experience for veggie users (and Yelp engineers), but that also got us thinking: could the same be said for other groups? Why yes, it can! We discovered many such use cases we’re excited to test, including connecting yelpers with businesses that best fit their different age groups -- because I know my Dad doesn’t want to be seated next to a bachelorette party at dinner. Or actually, maybe he would.

What we look for: By combing through our vast review data, we’re able to pick out folks who share a vegetarian perspective in their reviews and highlight the businesses that they like. It’s not without its flaws, but it’s a great way to crowd-source insights about vegetarian-friendly businesses.


In the same way that we dealt with vegetarians, we’ve identified places that are great for 20-somethings, 30-somethings, and 40-somethings. For example, if we find a restaurant with both an abnormally high concentration of good 30-something reviews, and a large overall number of these reviews, we can be pretty sure that a lot of 30-somethings like that place. That said, we never presume that you are only interested in one age group and you’re free to use this filter as you see fit.


How we show it: There are several ways for users to discover these results. Users can search the 'Liked by XX-somethings' or “Liked by Vegetarians” filter on many searches performed on the site. Additionally, these businesses will also have a special badge above their reviews and a link to nearby places like it.  

And don’t worry, we wouldn’t dare share anyone’s private information. What we can do is learn from signals in the reviews and user profiles how different groups like various businesses in aggregate and use that information to improve your search experience on Yelp.

What’s next: Of course, vegetarians and different age groups aren't the only ones asking questions like "I want a business that does X, but I want one that people like Y like". Our large and diverse community of reviewers can help us answer these questions for a variety of other groups that have a unique perspective on the businesses they review. Got an idea for the next Yelpy Insight? Let us know via feedback@yelp.com!