Open Sourcing Yelp Beans: Bringing People Together, One Cup of Coffee at a Time
Kent W., Engineering Manager
- Feb 21, 2017
We’re excited to be open sourcing a tool we built during a hackathon, that helps Yelp employees meet coworkers within the company: Yelp Beans.
It started a little over a year ago, when I began going to orchestrated one-on-one coffee meetups in the Bay Area sponsored by a local startup. It was a program where you could meet designers, engineers, and product managers in your area for a 30 minute coffee meeting. It helped me understanding my career direction and was an opportunity to ask questions of people at varying stages in their own careers. The coffee houses seemed to be filled to the brim with people in these meetings - it was growing quickly.
Eventually, the startup expanded its offerings to companies, so we were able to bring the concept to Yelp, matching people together from different teams to get to know one another over a cup of coffee. The program was a hit! We were getting positive feedback from the meetings and half of our engineering organization had signed up to take part. It was great while the program lasted, but unfortunately we weren’t able to keep working with them.
For weeks afterwards, engineers were asking about the program and whether or not we could revive it in-house. There was so much enthusiasm to build something internally that we decided to make it a Hackathon project, and it ended up being pretty popular! One of the great things about our engineering culture is that if we see a need, we will work to solve it quickly. Thus, Yelp Beans was born.
The way it works is users will be initially asked to sign up for the program via an email link hosted on the Yelp Beans website. From there, you set your preference on when you would like to meet. It will send you a request each Monday to ask if you want to opt-in for a meeting based on your preferences. On Wednesday, you get matched and on Thursday and/or Friday you will meet that match! We ensure that you don’t meet the same person in the last n weeks and we also ensure that you don’t meet someone on the same team as you. If you decide not to opt-in that week, you can always sign up for the following week.
Since launching Yelp Beans internally, we have facilitated hundreds of meetings and we are exploring pilots with satellite offices. We constantly hear feedback about how happy engineers are to have this program and we are continuing to look at different ways in which Yelp Beans can continue to increase engagement at the company.
What problem does it solve?
Encouraging communication across the organization. How do you meet a person outside of your org?
When did we make it?
How is it integrated into our culture?
It is part of onboarding and passes via word of mouth. Once you opt-in to the program, you receive participation emails every week.
- Google AppEngine
- NDB data layer
- Python Flask API layer
- React/Redux Frontend
- Expandable to use with any datasource, provided you adhere to some basic constraints
- Multiple types of meetings
- 1:1 weighted matching
- Matching is optimal based on constraints (Bloom Algorithm)
- Configurable way to ensure no rematching