Founded by two former Google employees on the Angular team, Jeff Cross (CEO) and Viktor Savkin (CTO), Narwahl actually started out as an Angular consulting firm, helping major banks, airlines and other enterprises – the kind of companies that typically use Angular. As Cross told me, it was the partnership with Capital One that drove the team to pursue Nx and turn that into the company’s flagship product. At that point, they were already very familiar with the concept of monorepos, thanks to their work at Google, which uses one of the world’s largest monorepos to manage its codebase.
“They had their login team,” Cross explains. “If you logged into CapitalOne.com, it’s seven business units building one unified app — and it was spread across so many repositories that they couldn’t coordinate the deployment; they couldn’t really coordinate on anything. And they really needed a monorepo. And so we built Nx for their use case and then made it work with every other customer that we worked with, which was most of these big companies.
Cross believes mono repos are naturally easier to manage for large teams. The founders, he said, were spoiled for choice at Google because the monorepo allowed any developer to build any part of Google’s codebase with minimal effort. After all, everything used the same tool chain and test infrastructure. Meanwhile, having many teams on different repositories creates a lot of friction, as the teams then have to build a common API – and create a new repository for it, set up the integration process, and figure out how to publish that. “And with publishing, every company inevitably adds version control to publishing. So it’s never “we publish every commit and it’s immediately updated in the repository.” It’s more like, ‘we’re publishing it, we’re using somewhere to say if this is a major change, a minor change, or is this a patch? And what that ends up happening in most companies is they never get the time to actually update it,” Cross said.
As Cross explained, the open source Nx Project and Nx Cloud help companies organize their code into these massive repositories, leveraging Nx’s concept of project charts. It’s worth noting that Nx was greatly inspired by Google’s Basel build and test system, so it includes some familiar features, such as the ability to distribute calculations and task execution across multiple machines. Cross mentioned a major retail giant the company is currently working with, who made the switch to Nx’s enterprise product and is now saving more than 40,000 hours of computation time per month thanks to its distributed caching system. One of the nice features of Nx (and Basel too, to be fair) is that it knows when two developers are trying to do the same tasks and checks to see if there’s already a cached version.
Narwhal/Nx is already a bit ahead of most early stage open source companies because it already has a hosted service (Nx cloud) and an enterprise version as main products. Given the type of large enterprise customers that Nx works with, it’s no surprise that Nx allows them to run the service in their private instances and isolated from external APIs.
The company currently has just over 30 employees on its team, which is largely remote. Of these, 25 are engineers.
“Monorepo adoption is exploding globally, driven by benefits such as ease of collaboration, shared codebase visibility, dependency management and refactoring,” said Abhishek Sharma, general manager at Nexus Venture Partners. “However, as mono repos grow in size, robust tooling becomes essential to manage them, and build time becomes a critical factor. This is where Nx shines. We were attracted to Nx because of its world-class team, category leadership, strong developer community, and massive global adoption – from startups to Fortune 500 companies. We are grateful to Jeff and Victor for choosing us as their partner in this journey.”