Why Neo is the modern way to money
About Neo Financial
Neo, a Canadian financial technology company, reimagines the way people spend, save, and earn rewards. They’re helping users make the most out of their time and money using today’s technologies. Not only does opening an account with Neo take a matter of minutes, users can immediately start earning instant cashback at their favorite stores and get real-time notifications when they spend and save. They offer all this, without monthly or annual fees.
Having recently hit unicorn status, Neo now has over a million customers. Staying true to their promise of offering Canadians new, customer-friendly and sustainable banking, Neo is constantly expanding products and services and in doing so, helping consumers have more choice.
Innovating — while complying with fintech regulations
One of the main challenges in fintech is compliance: making sure new players act in accordance with local laws and regulations. When it involves handling users’ money and sensitive data, trust is everything and fintech companies cannot make mistakes. To make sure they deliver, Neo focuses on smaller iterations to de-risk releases and involves stakeholders early on for product decisions.
The team has been building the app on Bitrise since the beginning, gradually using the platform more and more over the years as they expanded from 4 mobile developers to 20. The goal has always been to remove as much manual work as possible so developers can focus on tasks that matter the most and maintain the quality of the app.
Automating and parallelizing tests to increase efficiency
As Sudeep Sidhu, Lead Mobile Developer explains:
“As a startup, efficiency is critical: you operate with limited time and resources so automation and having consistent releases are crucial.”
By now, they use Bitrise for all parts of their app development cycle: whether automating tests that were previously done manually by the QA team or implemented end-to-end tests. They frequently use the Script Step for several purposes such as, setting up projects, installing dependencies, updating ticket status when builds are successful, and sending “Update Available” push notifications.
The team wrote their own custom steps for their specific needs, which they use to help with parallelization and conditional running of tests on the Android app. They use two Steps, Using the Create Install Page QR code and the Comment on Github Pull Request Steps, in combination to let developers easily download the app package from the changes in a Pull Request while reviewing.
Optimizing speed and release strategy
Over time, thanks to the switch to Bitrise’s GEN2 machines and credit-based plan, the engineering team at Neo has dropped their build times by half. When the team began using the M1 stack, they decreased build times in their iOS workflows by another 40%. The team also uses CI/CD pipelines combined with automation, hooks, scripts, and feature flags, to reduce manual work and allow for more safe, consistent releases.
The team noted that earlier on they didn’t have a consistent approach to releases— each new update could risk an entire release. As of late 2021 they managed to optimize with a steady two-week release cycle, which proved to be optimal for the team. Every Friday, a release train kicks off. On the second Monday, the release conductor does one last check in with the product and QA teams before making the update available on the app store. This ensures that each update is fully tested before it goes live, ensuring confidence.
“For us, Bitrise is something that just works all the time. We don’t have to worry about who does the uploads, who sends the new versions to the testers, and who releases to the app store — it’s all automated.” — Sudeep Sidhu, Lead Mobile Developer