Sam E., our Chief Technology Officer, speaking with Yelp employees at one of our weekly Engineering Product Status meetings
Three Yelp employees taking a break and playing pool
Three Yelp employees brainstroming and sovling an engineering problem on a whiteboard
A few employees enjoying their lunch at one of the tables outside the office

Yelp Engineering and Product

Take a peek into our engineering & product teams and all the work that we do.

Engineering News

Keep up with what we’re up to and working on! Read our blog posts to see some of the technical problems we solve and keep up to date by following us on Twitter and Facebook.

  1. Shawn Walton, Software Engineer
    Shawn Walton, Software Engineer

    In early 2017, Webcore selected Flow as Yelp’s next-generation typechecker over TypeScript. At the time there was no clear frontrunner. Flow had better support for React, better performance, and a respectable repository of types for NPM packages in flow-typed. However, a few years later the landscape had shifted, and it became clear that TypeScript was emerging as the stronger choice. TypeScript’s DefinitelyTyped repo had thousands more packages than flow-typed, and many more packages shipped with built-in TypeScript headers. TypeScript also proved to be more stable over time, and limited uptake in the wider JS community made finding tools and documentation...

  2. Igor Kusakov, Software Engineer
    Igor Kusakov, Software Engineer

    Introduction At Yelp, we rely heavily on GraphQL and Apollo for data loading in our frontend React monorepo. When a developer writes a GraphQL query or mutation inside a React component, the shape of the response is defined by the query itself — but TypeScript has no way to know what that shape looks like at compile time. That’s where code generation (codegen) comes in. We rely on codegen to read our queries and server schema, then produce TypeScript type definitions for every operation’s input variables and output data. In our codebase, this looks like: src/components/UserProfile/ ├── UserProfile.tsx ← contains...

Read more on our blog

Open Source Projects

We love open source! We’ve released many great projects, check out some of our favorites below.

  1. Paasta logo

    PaaSTA

    Python

    An open, distributed platform as a service

  2. ElastAlert logo

    ElastAlert

    Python

    Easy & Flexible Alerting With ElasticSearch

  3. OSXcollector logo

    OSXcollector

    Objective-C

    A forensic evidence collection & analysis toolkit for OS X

  4. dumb-init logo

    dumb-init

    C

    A minimal init system for Linux containers

See all projects