Project: /_project.yaml Book: /_book.yaml

Who's Using Bazel

{% include “_buttons.html” %}

Note: Using Bazel? You can add your company on StackShare. To add yourself to this page, contact product@bazel.build.

This page lists companies and OSS projects that are known to use Bazel. This does not constitute an endorsement.

Companies using Bazel {:#companies-using-bazel}

acqio{: .external}

Acqio is a Fintech that provides payment products and services for small and medium merchants. Acqio has a handful of monorepos and uses Bazel along with Kubernetes to deliver fast and reliable microservices.

Adobe{: .external}

Adobe has released Bazel rules{: .external} for continuous, GitOps driven Kubernetes deployments.

Asana{: .external}

Asana is a web and mobile application designed to help teams track their work. In their own words:

Bazel has increased reliability, stability, and speed for all of builds/tests at Asana. We no longer need to clean because of incorrect caches.

Ascend.io

Ascend is a Palo Alto startup that offers solutions for large data sets analysis. Their motto is Big data is hard. We make it easy.

Beeswax{: .external}

Beeswax is a New York based startup that provides real time bidding as service. Bazel powers their Jenkins based continuous integration and deployment framework. Beeswax loves Bazel because it is blazingly fast, correct and well supported across many languages and platforms.

Braintree{: .external}

Braintree, a PayPal subsidiary, develops payment solutions for websites and applications. They use Bazel for parts of their internal build and Paul Gross even posted a nice piece about how their switch to Bazel went.

Canva{: .external}

Canva leverages Bazel to manage its large polyglot codebase, which includes Java, Typescript, Scala, Python, and more. Migration to Bazel has delivered significant developer and compute infrastructure efficiencies, for example 5-6x decreases in average CI build times, and it continues to become the foundation of fast, reproducible, and standardised software builds at the company.

CarGurus{: .external}

CarGurus is on a mission to build the world's most trusted and transparent automotive marketplace and uses Bazel to build their polyglot monorepo.

Compass{: .external}

Compass is a tech-driven real estate platform. With an elite team of real estate, technology and business professionals, we aim to be the best and most trusted source for home seekers.

Databricks{: .external}

The Databricks codebase is a Monorepo, containing the Scala code that powers most of our services, Javascript for front-end UI, Python for scripting, Jsonnet to configure our infrastructure, and much more [...] Even though our monorepo contains a million lines of Scala, working with code within is fast and snappy. (Speedy Scala Builds with Bazel at Databricks)

Dataform{: .external}

Dataform provides scalable analytics for data teams. They maintain a handful of NPM packages and a documentation site in one single monorepo and they do it all with Bazel.

After the migration to Bazel, they reported many benefits{: .external}, including:

  • Faster CI: we enabled the remote build caching which has reduced our average build time from 30 minutes to 5 (for the entire repository).
  • Improvements to local development: no more random bash scripts that you forget to run, incremental builds reduced to seconds from minutes
  • Developer setup time: New engineers can build all our code with just 3 dependencies - bazel, docker and the JVM. The last engineer to join our team managed to build all our code in < 30 minutes on a brand new, empty laptop

Deep Silver FISHLABS{: .external}

Deep Silver FISHLABS is a developer of high-end 3D games. They use Bazel with C++/Python/Go/C as a base for their internal build tooling and especially for baking and deploying all their 3D Assets.

Dropbox{: .external}

Engel & Völkers{: .external}

Engel & Völkers AG is a privately owned German company that, via a series of franchised offices, provides services related to real estate transactions.

One of our internal project has seen a decrease of compilation time from 11 minutes to roughly 1 minute, this was an impressive achievement and we are currently working on bringing Bazel to more projects. (Experimenting with Google Cloud Build and Bazel){: .external}

Etsy{: .external}

Etsy is an e-commerce website focused on handmade or vintage items and supplies, as well as unique factory-manufactured items.

They use Bazel to build and test its Java-based search platform. Bazel produces both packages for bare metal servers and repeatable Docker images.

Evertz.io{: .external}

Evertz.io is a multi-tenant, serverless SaaS platform for offering cost effective, multi-regional services worldwide to the Broadcast Media Industry, created by Evertz Microsystems.

The website is fully built and deployed with an Angular and Bazel workflow (source{: .external}).

FINDMINE{: .external}

FINDMINE is a automation technology for the retail industry that uses machine learning to scale the currently manual and tedious process of product curation. We use Bazel to mechanize our entire python package building, testing, and deployment process.

Flexport{: .external}

Flexport is a tech-enabled global freight forwarder; our mission is to make global trade easier for everyone. At Flexport, we use Bazel to build/test our Java/JavaScript services and client libraries and to generate Java and Ruby code from protobuf definitions. Read about how we run individual JUnit 5 tests in isolation with Bazel.

Google{: .external}

Bazel was designed to be able to scale to Google‘s needs and meet Google’s requirements of reproducibility and platform/language support. All software at Google is built using Bazel. Google uses Bazel and its rules for millions of builds every day.

GRAKN.AI{: .external}

Grakn is a database technology that serves as the knowledge-base foundation to intelligent systems. Grakn allows intelligent systems to interpret complex datasets as a single body of knowledge that can be logically reasoned over. Bazel enables the @graknlabs team to build a highly-orchestrated CI and distribution pipeline that manages multiple repositories of multiple languages, and deploys to numerous platforms seamlessly.

Huawei{: .external}

Huawei Technologies is using Bazel in about 30 projects, they are Java/Scala/Go projects, except for Go projects, others originally were built by Maven. We write a simple tool to translate a Maven-built project into Bazel-built one. More and more projects will use Bazel in recent future.

IMC Trading{: .external}

IMC is a global proprietary trading firm and market maker headquarted in Amsterdam. We are using Bazel to continuously build and test our Java/C++/Python/SystemVerilog projects.

Improbable.io{: .external}

Improbable.io develops SpatialOS, a distributed operating system that enables creating huge simulations inhabited by millions of complex entities.

Interaxon{: .external}

InteraXon is a thought-controlled computing firm that creates hardware and software platforms to convert brainwaves into digital signals.

Jupiter{: .external}

Jupiter is a company that provides delivery of groceries and household essentials every week.

They use Bazel in their backend code, specifically to compile protos and Kotlin to JVM binaries, using remote caching. (source)

Just{: .external}

Just is an enterprise financial technology company, headquartered in Norway, creating software solutions to transform how global corporate treasurers manage risk and liquidity. Their entire application stack is built with Bazel.

Kitty Hawk Corporation{: .external}

The Kitty Hawk Corporation is an American aircraft manufacturer producing electric aircraft. They use Bazel with Haskell and Scala rules.

Line

Line provides an app for instant communications, which is the most popular messaging application in Japan. They use Bazel on their codebase consisting of about 60% Swift and 40% C/C++/Objective-C/Objective-C++ (source{: .external}).

After switching to Bazel, we were able to achieve a huge improvement in the build times. This brought a significant improvement in the turn-around time during a QA period. Distributing a new build to our testers no longer means another hour waiting for building and testing. (Improving Build Performance of LINE for iOS with Bazel{: .external})

LingoChamp{: .external}

LinkedIn{: .external}

Lyft{: .external}

Lyft is using Bazel for their iOS Apps (source).

Makani{: .external}

Makani, now a Google subsidiary, develops energy kites and uses Bazel to build their software (including their embedded C++ software).

Meetup{: .external}

Meetup is an online social networking portal that facilitates offline group meetings. The Meetup engineering team contributes to rules_scala{: .external} and is the maintainer of rules_avro{: .external} and rules_openapi{: .external}.

Nvidia{: .external}

At Nvidia we have been using dazel(docker bazel) for python to work around some of bazel's python short comings. Everything else runs in normal bazel (Mostly Go / Scala/ C++/ Cuda) (source{: .external})

Peloton Technology{: .external}

Peloton Technology is an automated vehicle technology company that tackles truck accidents and fuel use. They use Bazel to enable reliable builds for automotive safety systems.

Pinterest{: .external}

Pinterest is the world’s catalog of ideas. They use Bazel to build various backend services (Java/C++) and the iOS application (Objective-C/C++).

We identified Bazel was the best fit for our goals to build a foundation for an order of magnitude improvement in performance, eliminate variability in build environments and adopt incrementally. As a result, we’re now shipping all our iOS releases using Bazel. Developing fast & reliable iOS builds at Pinterest

PubRef{: .external}

PubRef is an emerging scientific publishing platform. They use Bazel with rules_closure{: .external} to build the frontend, native java rules to build the main backend, rules_go{: .external}, rules_node{: .external}, and rules_kotlin{: .external} to build assorted backend services. rules_protobuf{: .external} is used to assist with gRPC-based communication between backend services. PubRef.org is based in Boulder, CO.

Redfin{: .external}

Redfin is a next-generation real estate brokerage with full-service local agents. They use Bazel to build and deploy the website and various backend services.

With the conversion mostly behind us, things are greatly improved! Our CI builds are faster (way faster: they used to take 40–90 minutes, and now dev builds average 5–6 minutes). Reliability is far higher, too. This is harder to quantify, but the shift from unexplained build failures being something that “just happens” to being viewed as real problems to be solved has put us on a virtuous cycle of ever-increasing reliability. (We Switched from Maven to Bazel and Builds Got 10x Faster)

Ritual{: .external}

Ritual is a mobile pick up app, connecting restaurants with customers to offer a simple, time-saving tool to get the food and beverages they want, without the wait. Ritual uses Bazel for their backend services.

Snap{: .external}

Snap, the developer of Snapchat messaging app, has migrated from Buck to Bazel in 2020 (source{: .external}). For more details about their process, see their engineering blog{: .external}.

Stripe{: .external}

Stripe provides mobile payment solutions. They are the main maintainers of the Bazel Scala rules{: .external}.

Tink{: .external}

Tink is a european fintech, building the best way to connect to banks across Europe.

They are using Bazel to build their backend services from a polyglot monorepo. Engineers at Tink are organizing the bazel build //stockholm/... meetup group.

Tokopedia{: .external}

Tokopedia is an Indonesian technology company specializing in e-commerce, with over 90 million monthly active users and over 7 million merchants on the platform.

They wrote the article How Tokopedia Achieved 1000% Faster iOS Build Time, where they explain how Bazel sped up their builds. The build duration went from 55 minutes to 10 minutes by using Bazel, and down to 5 minutes with remote caching.

Twitter{: .external}

Twitter has made the decision to migrate from Pants to Bazel as their primary build tool (source).

Two Sigma{: .external}

Two Sigma is a New York-headquartered technology company dedicated to finding value in the world’s data.

Uber{: .external}

Uber is a ride-hailing company. With 900 active developers, Uber’s Go monorepo is likely one of the largest Go repositories using Bazel. See the article Building Uber’s Go Monorepo with Bazel to learn more about their experience.

Uber Advanced Technologies Group{: .external}

Uber Advanced Technologies Group is focused on autonomous vehicle efforts at Uber, including trucking/freight and autonomous ride sharing. The organization uses Bazel as its primary build system.

Vistar Media{: .external}

Vistar Media is an advertising platform that enables brands to reach consumers based on their behavior in the physical world. Their engineering team is primarily based out of Philadelphia and is using Bazel for builds, deploys, to speed up testing, and to consolidate repositories written with a variety of different technologies.

VMware{: .external}

VMware uses Bazel to produce deterministic, reliable builds while developing innovative products for their customers.

Wix{: .external}

Wix is a cloud-based web development platform. Their backend uses Java and Scala code. They use remote execution with Google Cloud Build.

We have seen about 5 times faster clean builds when running with bazel remote execution which utilizes bazel’s great build/test parallelism capabilities when it dispatches build/test actions to a worker farm. Average build times are more than 10 times faster due to the utilization of bazel’s aggressive caching mechanism. (Migrating to Bazel from Maven or Gradle? 5 crucial questions you should ask yourself{: .external})

Zenly{: .external}

Zenly is a live map of your friends and family. It’s the most fun way to meet up — or just see what’s up! — so you can feel together, even when you're apart.


Open source projects using Bazel {:#open-source-projects-using-Bazel}

Abseil{: .external}

Abseil is an open-source collection of C++ code (compliant to C++11) designed to augment the C++ standard library.

Angular{: .external}

Angular is a popular web framework. Angular is built with Bazel.

Apollo

Apollo is a high performance, flexible architecture which accelerates the development, testing, and deployment of Autonomous Vehicles.

brpc{: .external}

An industrial-grade RPC framework used throughout Baidu, with 1,000,000+ instances(not counting clients) and thousands kinds of services, called “baidu-rpc” inside Baidu.

cert-manager{: .external}

cert-manager is a Kubernetes add-on to automate the management and issuance of TLS certificates from various issuing sources. It will ensure certificates are valid and up to date periodically, and attempt to renew certificates at an appropriate time before expiry.

CallBuilder{: .external}

A Java code generator that allows you to create a builder by writing one function.

CPPItertools{: .external}

C++ library providing range-based for loop add-ons inspired by the Python builtins and itertools library. Like itertools and the Python3 builtins, this library uses lazy evaluation wherever possible.

Copybara{: .external}

Copybara is a tool for transforming and moving code between repositories.

Dagger{: .external}

Dagger is a fully static, compile-time dependency injection framework for both Java and Android.

DAML{: .external}

DAML is a smart contract language for building future-proof distributed applications on a safe, privacy-aware runtime.

Deepmind Lab{: .external}

A customisable 3D platform for agent-based AI research.

Drake{: .external}

Drake is a C++ toolbox started at MIT and now led by the Toyota Research Institute. It is a collection of tools for analyzing the dynamics of our robots and building control systems for them, with a heavy emphasis on optimization-based design/analysis.

Envoy{: .external}

C++ L7 proxy and communication bus

Error Prone{: .external}

Catches common Java mistakes as compile-time errors. (Migration to Bazel is in progress.)

Extensible Service Proxy{: .external}

Extensible Service Proxy, a.k.a. ESP is a proxy which enables API management capabilities for JSON/REST or gRPC API services. The current implementation is based on an NGINX HTTP reverse proxy server.

FFruit{: .external}

FFruit is a free & open source Android application to the popular service Falling Fruit{: .external}.

Gerrit Code Review{: .external}

Gerrit is a code review and project management tool for Git based projects.

Gitiles{: .external}

Gitiles is a simple repository browser for Git repositories, built on JGit.

Grakn{: .external}

Grakn (https://grakn.ai/) is the knowledge graph engine to organise complex networks of data and make it queryable.

GRPC{: .external}

A language-and-platform-neutral remote procedure call system. (Bazel is a supported, although not primary, build system.)

gVisor{: .external}

gVisor is a container runtime sandbox.

Guetzli{: .external}

Guetzli is a JPEG encoder that aims for excellent compression density at high visual quality.

Gulava{: .external}

A Java code generator that lets you write Prolog-style predicates and use them seamlessly from normal Java code.

Heron{: .external}

Heron is a realtime, distributed, fault-tolerant stream processing engine from Twitter.

JGit{: .external}

JGit is a lightweight, pure Java library implementing the Git version control system.

Jsonnet{: .external}

An elegant, formally-specified config generation language for JSON. (Bazel is a supported build system.)

Kubernetes{: .external}

Kythe{: .external}

An ecosystem for building tools that work with code.

Nomulus{: .external}

Top-level domain name registry service on Google App Engine.

ONOS : Open Network Operating System{: .external}

PetitParser for Java{: .external}

Grammars for programming languages are traditionally specified statically. They are hard to compose and reuse due to ambiguities that inevitably arise. PetitParser combines ideas from scannnerless parsing, parser combinators, parsing expression grammars and packrat parsers to model grammars and parsers as objects that can be reconfigured dynamically.

PlaidML{: .external}

PlaidML is a framework for making deep learning work everywhere.

Project V{: .external}

Prysmatic Labs Ethereum 2.0 Implementation{: .external}

Prysm is a sharding client for Ethereum 2.0, a blockchain-based distributed computing platform.

Ray{: .external}

Ray is a flexible, high-performance distributed execution framework.

Resty{: .external}

Resty is a Simple HTTP and REST client library for Go (inspired by Ruby rest-client).

Roughtime{: .external}

Roughtime is a project that aims to provide secure time synchronisation.

Selenium{: .external}

Selenium is a portable framework for testing web applications.

Semantic{: .external}

Semantic is a Haskell library and command line tool for parsing, analyzing, and comparing source code. It is developed by GitHub (and used for example for the code navigation).

Served{: .external}

Served is a C++ library for building high performance RESTful web servers.

Sonnet{: .external}

Sonnet is a library built on top of TensorFlow for building complex neural networks.

Sorbet{: .external}

Sorbet is a fast, powerful type checker for a subset of Ruby. It scales to codebases with millions of lines of code and can be adopted incrementally.

Tink{: .external}

Tink is a multi-language, cross-platform, open source library that provides cryptographic APIs that are secure, easy to use correctly, and hard(er) to misuse.

TensorFlow{: .external}

An open source software library for machine intelligence.

Turbo Santa{: .external}

A platform-independent GameBoy emulator.

Wycheproof{: .external}

Project Wycheproof tests crypto libraries against known attacks.

XIOSim{: .external}

XIOSim is a detailed user-mode microarchitectural simulator for the x86 architecture.

ZhihuDailyPurify{: .external}

ZhihuDailyPurify is a light weight version of Zhihu Daily, a Chinese question-and-answer webs.