How SalesRabbit reduced bugs by 30% and increased velocity by 25%

Manpreet KaurManpreet Kaur
7 min read

Overview

SalesRabbit, a CRM and canvassing platform used by roofing, solar, and pest control companies, is no stranger to legacy code. In recent years, SalesRabbit has expanded its product line through multiple acquisitions – including RoofLink in 2024, a roofing-focused CRM.

Those expansions came with new challenges: multiple legacy codebases in different languages (C#, Elixir, Python, and even C) and no easy way to assess code quality across them.

With 20 engineers, CTO Michael Archibald needed a scalable way to maintain engineering velocity while gaining visibility into an inherited codebase, reducing bugs, and supporting less experienced developers on the team.

That’s where CodeRabbit came in.

The challenge: Legacy codebase & high defect rates

Before CodeRabbit, SalesRabbit was trying to grapple with an inherited codebase from a new acquisition while dealing with many of the common challenges engineering teams face around code reviews. Those included delays in reviews that slowed down deployment velocity and inconsistent coding standards.

  • Unfamiliar legacy codebases after acquisitions

    The SalesRabbit team was spread out across a growing number of languages. While SalesRabbit started as a PHP application, they acquired a company with a C# codebase, shifted some of their own codebase to Elixir, and were about to buy RoofLink, whose code was in Python. It was the introduction of that Python codebase with SalesRabbit’s acquisition of RoofLink that initially prompted Michael to research AI code review tools. “I was looking for some automated tools, primarily AI, that could help us understand the codebase a little faster and better validate the quality of the code,” he shared.

  • High defect escape rate

    Michael has always been hyper-focused on improving application quality. When he joined SalesRabbit as CTO six years ago, the company was facing frequent downtime. Since then, they've improved to 99.99% availability and scaled their team. But, after the acquisition, Rooflink’s defect escape rate gave him cause for concern. While Rooflink wasn’t tracking how many bugs made their way to production, anecdotally, the Rooflink support team told him they were used to fielding customer complaints on nearly every release. It seemed clear that code at the company wasn’t being as thoroughly reviewed as it should be.

  • Slow review cycle

    With an ambitious roadmap and multiple products across the company, Michael had to ensure the team maintained velocity. But manual code reviews were inconsistent and often took several days, slowing deployment significantly. One problem was that the team had a large number of junior engineers – which meant fewer senior developers who could review code. Michael wanted a solution that would make reviews easier.

  • AI coding tools caused code quality issues

    While SalesRabbit’s engineers leveraged Copilot and other AI coding tools to help write code faster, it created problems with code quality. “The junior engineers were introducing a lot of bugs with these tools,” Michael explained. That caused him to try to find other AI tools that would better support the junior engineers on the team.

  • Inconsistent coding standards

    Different teams across SalesRabbit and RoofLink used different styles and standards, often due to legacy standards at the acquired companies. But style inconsistencies added friction. A central governance layer was needed to enforce best practices. “We just want everyone to be the same,” said Michael.

Why SalesRabbit loves CodeRabbit

The engineers all wanted it – and used it

Michael wasn’t initially convinced that CodeRabbit would solve his team’s problems. “I came across CodeRabbit and thought, ‘It's relatively inexpensive. I'm going to just give one or two engineers a seat and see how they like it,” he explained. “But almost immediately everybody on my team was like, oh, I want this, I want this.”

That level of enthusiasm for a tool is something Michael listens to. When he joined SalesRabbit, the company was facing 80% engineering churn and he’s since worked hard to improve developer satisfaction and stabilize the engineering org. “One of the litmus tests for me with AI tools is: do engineers want it? I don’t like pushing AI tools on engineers,” Michael said. “With CodeRabbit, everybody asked for it almost immediately.”

Initially tested with junior developers, senior engineers also quickly recognized its value around bug fixes, refactor suggestions, and security checks. “With CodeRabbit,, everybody was like, give me this. This is fantastic. It speeds up code reviews,” Michael said. “We went from a small test to full adoption very quickly.”

CodeRabbit found more issues than any human

While Michael had been worried about Rooflink’s defect escape rate, CodeRabbit reduced it significantly – and almost immediately. “We could have started putting processes in place to improve things but those can take weeks and months before we get measurement,” he explained. “Code Rabbit seemed to have an almost immediate impact. Code quality has gone up and the only thing we've adjusted has been adding CodeRabbit to all of the deploys.”

Michael isn’t surprised it’s been so effective at reducing issues. “I feel very comfortable saying that it's caught a lot more bugs than any human has,” he said.

An AI tool that… didn’t introduce more bugs

Unlike Copilot and other AI coding tools, which focused on writing code and resulted in a lot of added bugs, CodeRabbit focused on finding and fixing them. That gave SalesRabbit the visibility and quality gates they needed at the PR stage to keep defects out of production. “It works especially well for junior developers,” Michael said. “It helps them spot patterns and mistakes they’d otherwise miss.”

SalesRabbit was also able to more quickly understand their inherited codebase. “It really helped us to determine the code quality,” shared Michael.

It fixed style consistency issues

CodeRabbit’s built-in style enforcement reduced the need for custom linters or style checkers, helping standardize code across legacy and modern languages. “CodeRabbit does a really good job saying, ‘this might be a bad pattern’ or ‘you’re not following style here,’” Michael explained. “We were able to get rid of a lot of tooling we put in place for managing code styles because CodeRabbit has a version of that built-in.”

What’s helpful is having one centralized code quality enforcement tooling for legacy languages like C# and modern ones like Elixir and Python “We just want everyone to be kind of the same,” said Michael. “CodeRabbit does that for us.”

The results: Better code, lower defect rate, happier engineers

With CodeRabbit, SalesRabbit has seen impressive results:

30% fewer defects

The defect escape rate decreased by at least 30% after introducing CodeRabbit, improving system reliability. Support teams even noticed the difference. “It had almost an immediate impact,” Archibald said.

25% Faster deployments

CodeRabbit’s automated first-pass review enabled faster iterations, reducing release cycle time – even with a complex legacy codebase. Then, one-click fixes helped them quickly commit the changes identified.

Significant style and standards consistency improvements

While it’s hard to measure, Michael feels strongly that CodeRabbit helped them level up their code quality significantly. “It's improved our code style,” he attests.

Happier engineers

Michael’s focus is on keeping the engineers at SalesRabbit happy and productive. That’s why he’s never wanted to push AI tools on them that they didn’t want. But CodeRabbit was a tool that his engineering team all wanted. “The developers have really enjoyed using it,” he shared.

CodeRabbit = Less review overhead, more velocity

For SalesRabbit, adopting CodeRabbit was low-lift but high-impact. Their team was able merge PRs at least 25% faster, improve defect detection in legacy C# and Python code, and increase developer efficiency by freeing them from multi-day review cycles.

The AI-powered reviews only take hours now, instead of days, and enable faster deployments. CodeRabbit was also able to find bugs that junior engineers were letting slip by when using AI coding tools. With review cycles shortened, developer confidence increased, and the entire team more aligned around coding practices, Michael’s glad he found CodeRabbit when he did.

As Michael puts it: “Before CodeRabbit, we struggled with inconsistencies in code reviews and defects slipping into production. It’s improved our coding standards, especially in C#, provided a centralized governance layer for code style enforcement, and significantly reduced production defects.”

With CodeRabbit’s expanding feature set, especially the recent support for automated docstrings insertion and the future support for agentic workflow-based automated unit-test insertion, SalesRabbit anticipates seeing even more efficiency gains soon.

Want see how CodeRabbit can help your team? Get a 14-day trial.

0
Subscribe to my newsletter

Read articles from Manpreet Kaur directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Manpreet Kaur
Manpreet Kaur