Benchmarking any2bazel - towards more efficient migrations

We’re fond of Bazel, and particularly fond of the capabilities it offers developers. Faster builds, made more efficient through remote execution and caching, made more understandable through declarative configuration, queryability, and precise logging – these deliver benefits and solutions to developers once Bazel’s all set up and integrated into their daily processes.

But it’s a rare developer who enjoys spending their time and effort in build system configuration. Wouldn’t we rather be solving our customers’ problems? And the decision to migrate from an existing build system to Bazel is one that demands consideration of huge trade-offs; the labor and opportunity costs of engineering time spent on migration and adapting internal workflows to a new build system discourage the pursuit of its advantages.

In early 2026 I became interested in AI-guided Bazel migration because the capabilities of models like Opus 4.5 and agentic tools like Claude Code seemed to offer a way of realizing those benefits without so much toil – that is, if AI-guided Bazel migration worked. I believed it would work eventually, if not at that point in time, given the rapid pace of capability growth in AI models and their harnesses. I also believed it would be possible to distill lessons learned from open-source projects’ Bazel migrations and AI-guided migration attempts into a skill. If done right, such a skill could elevate those capabilities, and the process of improving the skill with better distillation from more and more migration attempts could augment the "natural" capability growth coming from the models getting smarter.

I was particularly struck by the question, "how would we know when we arrived?" It seemed answerable, if only we had an experimental laboratory that evaluated AI-guided Bazel migration attempts.

Many months later, around the time any2bazel launched, I began work on any2bazel-lab, to bring experimental results to bear on the question of how well current AI models performed at automated Bazel migration, both with and without the any2bazel skill. Anthropic’s frontier models – a mix of Opus 5, 5.5, Fable 5.1, and a bit of Haiku 4.5 – extensively contributed to the lab’s development, and coordinated the execution of its migration experiments. Our experiments are ongoing. Here’s a summary of what we’re learning, and how.

EngFlow is a Cursor Origin launch partner

Bazel makes your builds correct and reproducible. Making them fast, and keeping them fast as your codebase and your team grow, is a different problem. It's the very problem that EngFlow was created to solve. Our team spent years on the adoption side of Bazel, helping companies put it into production, contributing and creating Bazel's core features, and the pattern is almost always the same: teams love what Bazel does for correctness, then run straight into what it costs to operate for speed.

Today, that's much easier to reach. EngFlow, the platform that runs the largest managed Bazel fleet in the world, with over 3 billion build and test actions every week for teams like Arm, Databricks, and Canva, is now one install away for every team on Origin. Read more about this in Origins's announcement on X (Twitter) and Linkedin.

Why Tests Became the Product: A Conversation with Titus Winters

A conversation with Titus Winters · Notes From The Fleet series

Watch the full interview

I sat down with Titus Winters to talk about developer experience and infrastructure at scale. Titus co-wrote Software Engineering at Google; he is now a Senior Principal Scientist at Adobe. I expected a conversation about build systems. What I got was a line I've been thinking about ever since:

"The question is not what can you build with an incredibly fast, 80% accurate tool. It's what can't you build with an infinite army of incredibly fast, 80% accurate tools."

An infinite army of 80% accurate tools. That army doesn't have a code generation problem. It has a verification problem. Whether it helps you or buries you depends on the systems that check, integrate, and maintain everything it produces.

Titus Winters interview

Titus Winters on the shift from code generation to verification in the AI era

Introducing any2bazel - an OSS tool for agent-driven migrations to Bazel

Back in June I was sitting on a train to Zurich. The plan was to meet colleagues and work together on figuring out how to migrate CMake projects to Bazel. I was looking forward to chatting with my colleagues in person, but I was not optimistic about the migration process. Truth be told, I was expecting to spend the week walking through the problems parsing the custom CMake language and CMake being Turing complete, maybe even look at a few concrete cases like generated files and configuration flags, finally conclude it couldn't be done, and return home with not much to show. Oh boy was I wrong.

Over 3 Billion Actions per Week: A Year Inside the World's Largest Bazel Fleet

The EngFlow fleet just crossed 3.5 billion actions processed per week. Fourteen months ago, that number was 250 million. That's roughly 14x growth in 14 months.

This isn't a vanity metric. It's a signal of the developer efficiency our platform enables, and of the scale at which we now operate, managing some of the world's most complex and demanding platform engineering workflows for enterprises including ARM, Asana, Block, BMW, Canva, Databricks, Plaid, and Zoox.

14x growth in build actions

14x growth in 14 months in build actions per week across the EngFlow fleet.

Four War Stories and a Demo: Seattle Build Meetup 2026

Waleed Khan from Stripe presents in Seattle at Uber’s offices

On July 28, 2026, Uber and EngFlow co-hosted a Build Meetup at Uber’s Seattle office. This wouldn’t have been possible without the help of Sergey Balabanov at Uber, who not only presented one of the talks, but also energetically arranged and helped support this event from the Uber side. Thanks again, Sergey!

And, even though nobody planned a theme for this particular meetup (our meetups are holistically focused on “Build, Scale, Investigate”), one showed up anyway. Code is getting cheaper to produce. Uber put it flatly: “AI is a problem, apparently.” Every talk examined some part of the machinery that turns abundant code into software you can trust. Let’s take a look!

From Prototype to Production: The EngFlow Build Analytics Journey

Every build tells a story. Which targets took the longest? Where did cache misses cost you minutes? Who triggered the invocation, and what source changes drove it? At EngFlow, we believe that surfacing these answers — automatically and at scale — transforms build optimization from reactive firefighting into proactive engineering. Today, we're sharing how our build analytics platform evolved from early prototypes to a production-grade system providing tangible value to our customers.

Say hello to the new bazel.build website

Today, the new https://bazel.build/ website has finally launched. This is the first step in a larger evolution of Bazel's documentation story. Much of the content remains the same (the eagle-eyed among you may notice a few new pages), but this change marks a new era of Bazel documentation.

What motivated this change?

The Bazel site migration is more than just a fresh coat of paint. One of the underlying motivations for this change is to empower the Bazel community to make more changes to Bazel's documentation. Before the migration, Bazel's website was built on Google documentation infrastructure. While the capabilities of that infrastructure were largely sufficient for Bazel's needs up to now, the contribution experience was not.

Today's https://bazel.build/ is built on Mintlify. With this new platform, each incoming documentation pull request to Bazel is automatically greeted with a preview. For even faster iteration, you can build the site locally. These improvements eliminate guesswork, and better equip contributors to make changes to the Bazel docs with confidence.

Iterable cuts P90 build time from 42 minutes to 17 minutes with EngFlow

By migrating its Scala backend from sbt to Bazel with EngFlow and VirtusLab, Iterable created a faster, more reliable build foundation for AI-era engineering velocity.

42 → 17 minutes
P90 build time

~3 minutes
Common build time for smaller changes

~97%
Integration-test pass rate on master, up from the 70s

Iterable is an AI customer engagement platform trusted by global brands to create personalized experiences across every channel. Behind the platform is a distributed engineering organization building and operating a large, complex software estate.

For Iterable’s Developer Platform team, the mission is straightforward: help developers release software faster, with greater reliability and safety.

Build Forensics: How we uncovered a Rust HTTP/2 bug

Last year, one of our customers began reporting that 5% of their jobs based on Meta's Buck2 build system were failing. Even though there was no simple way to reproduce the phenomenon, all signs pointed to network hangs when a Buck2 client made API calls to their EngFlow cluster. If a simple timeout was added, the request would quickly time out, potentially indicating the issue was a bug in our remote execution platform.

Because of the potential for it to expose a broader issue in our software, especially in terms of compatibility issues with Buck2, we elevated the urgency of this investigation. After examining a few thread dumps that revealed nothing conclusive, we eventually scheduled a call with the customer. After performing multiple tests, it became evident that our schedulers were simply idle. If it were truly a problem in our system, we were unable to find evidence.