The company that helps you save on transaction fees — simply by using an app
The ultimate app for handling your personal finances
As one of the most popular fintech apps for handling personal finances, TransferWise is the ultimate choice of over 7 million people around the world. Whether it comes to sending money to another country, spending money abroad, or making and receiving international business payments, the company is on a mission to make users’ lives easier and help them save on transaction fees — simply by using the app instead of regular banks for transfers. As of now, their users process more than £4 billion internationally on 1600 routes and in 49 currencies offered by the platform.
TransferWise currently has over 2000 employees, from which more than 400 are engineers and 40 people work on the mobile apps. They build native apps on both iOS and Android, with the majority of their code written in Swift and Kotlin. Mobile engineers work in an autonomous structure, where they are embedded in full-stack teams organized around specific customer problems, with shared ownership of different processes, such as CI, DevOps, QA, or testing.
Switching from on-prem to a cloud-based platform
From the very beginning, the mobile teams at TransferWise relied on CI for automation, reliability, reporting, and speed. Initially, this was done on a locally hosted instance of TeamCity. As the company rapidly grew and they wanted to remain confident about the quality of features shipped to customers, however, their on-premise solution became difficult to maintain — especially because the engineers were working in different offices. Since they also had issues with running emulators for UI and screenshot tests, they started to look for a low-maintenance, cloud-based platform with on-demand scalability that would offer an all-in-one solution to these problems.
One of their most important requirements was having access to strong emulator support, but they also needed a solution that was optimized for mobile and had out-of-the-box support for both mobile SDKs and managing keystores. They first encountered Bitrise roughly two years ago while researching different CI/CD tools on the market, and were soon able to explore the platform and set up an automated project through a free trial. The straightforward UI and UX made it easy for them to understand the configuration YML file and set up the build workflows. After the quick initial setup and a demo to other mobile engineers, everyone was convinced that Bitrise would make their lives easier, so they signed up for a subscription.
A solution optimized for complex requirements and multiple workflows
Over time, TransferWise managed to optimize their build configuration for multiple — and parallel — workflows on Bitrise. They are now using different workflows to run PR builds that use a shell script to report results of static checks, such as Lint or Checkstyle, back to the GitHub pull request. Additionally, they’ve been parallelizing tests that involve emulators, such as UI- and screenshot tests, for impressive speed gains.
They are also able to automatically push any new strings to CrowdIn and pull the translations back into the repository. Other regular parts of their workflow include running internal beta builds and deploying them to Google’s Play Store, nightly production builds, and using Git tags to deploy production releases to the Play Store’s public beta track.
Since most of their build logic and scripts live in Gradle plugins or shell scripts, Bitrise’s Script step is a feature they find to be particularly useful, as it allows for custom scripts in any part of a workflow. To keep track of workflow changes, TransferWise keeps their build configuration YML file in their repository.
More automation, new features, and increased popularity
Some of the biggest changes Bitrise has introduced to the company’s app development processes were automating 99% of their release processes, running parallel CI builds, and significantly shortening their build times. Optimizing their deployment pipeline and being able to monitor their build time statistics have also proven to be very useful for the entire team. It helped scale their team as well — since using Bitrise for Android, their headcount quadrupled, and onboarding newcomers was easier than ever. They also run an impressive number of builds: around 700 per week on Android and 400 per week on iOS.
Moreover, using the platform has helped manage their CI/CD workflows in a more transparent way and made them accessible for all mobile engineers, which made them feel more confident in growing and testing their codebase. Not having to investigate any network or infrastructure-related issues that they’d previously had on a locally hosted machine has saved them a lot of time, as well. This enabled developers to launch several new features that help TransferWise users manage their multi-currency accounts and debit cards securely and conveniently. The result? An increased number of monthly active users — reaching over 2 million on Android last month — more app downloads, and happier customers.
Would you like to join TransferWise? Check out their current openings on their careers page!