How Cabify speeds up build times and improves build success rates of their high-rated super-app
Cabify is a Spanish multi-mobility company specializing in ride hailing and asset sharing. Their super-app provides users with quick access to geo-tracked journeys with professional drivers, modern vehicles, such as scouters, mopeds and cars, with full control over their preferences. The company has recently expanded their portfolio to offer food and grocery delivery services.
Operating in Spain and Latin America, the company has two main services, one for businesses and another one for individuals. Being the primary driver of the user engagement and revenue, their mobile apps play a very important role in their business. The mobile engineers work in two squads: mobility and growth and build their iOS and Android apps in native Swift and Kotlin.
35% faster builds and improvement in build success rates
The Cabify app was built from scratch five years ago using BuddyBuild for CI. Back then, the system proved to be somewhat chaotic with builds taking over an hour and many of them failing. Since they heavily focused on building a great mobile experience, they were on the look for another cloud-based solution with a stable Gitlab integration and mobile-specific features.
After reading great reviews on a software recommendation site, they decided to give Bitrise a go. Within a few days, they switched from BuddyBuild and set up a solid baseline point from where they could easily manage their workflows.
Reaching full test coverage, parallel testing, and nightly builds
As Andrés Brun Moreno, Cabify’s Engineering Manager said about the switch:
“During the first phase of migrating to Bitrise, we saw a significant, approximately 35%, drop in build times, as well as an immediate improvement in build success rates, which increased to above 95%.”
They have taken testing to a new level as well: before Bitrise, they’d already run basic tests, but it was after the switch when they started gradually integrating several different types of tests into their processes, such as integration tests, weekly internal beta tests, regression tests, and more — eventually reaching a full test coverage.
The team also introduced parallel testing, as well as nightly builds, so the work gets done even while they sleep. Both of these processes save them several hours a day, allowing them to focus on developing features that improve the user experience.
“It’s a relief to be able to delegate all the responsibility to Bitrise and have close to 100% of our processes automated.”
Further acceleration and builds optimized for Apple silicon on M1 machines
The Cabify mobile team was among the first teams to start using Bitrise’s M1 machines for iOS builds. By now, most of their iOS builds are on M1 machines, and using the architecture specifically designed for Apple silicon enabled them to streamline processes, improve efficiency and transparency, and deliver features faster.
“Within the first month on M1, our build times dropped to 25 minutes. After a month, thanks to further optimization, we managed to further decrease build times, reaching a stable 18 minutes.” — Andrés Brun Moreno, Engineering Manager
As the competition in ride sharing apps is higher than ever, quality, loading times, and user experience are crucial. Cabify’s app maintains constantly high ratings — as of today, it has an impressive 4.8-star rating in the app store, as well as a high crash-free user rate at an impressive 99,96%.