“Codemagic is the technology at the heart of our Flutter build, quality and delivery process” – Tim Ruddell, Senior Software Engineer at ClearPoint
ClearPoint combines design and engineering with the right platforms to deliver innovative digital experiences. The New Zealand-based company has built two core apps with Flutter, which are currently available on the market.
One of them is Zip, an “own it now, pay later” mobile application that assists with short-term financing. With full transparency and no interest or fees, customers can get the products they want today, but with the ability to spread the cost over six weeks. It has several hundred thousand users and processes millions of dollars of transactions every month.
The other app is a fund and retirement management app built for a leading financial services provider, AMP. People can manage their retirement funds and investments directly from the app.
“At ClearPoint, we truly live software. For our team, innovation doesn’t stop just because the workday ends,” says Irina Southwell, Principal Engineer at ClearPoint. “Flutter and Dart are the latest additions to innovative engineering at ClearPoint and we love working with them.”
Journey from React Native to Flutter
Senior Software Engineer, Tim Ruddell, shared ClearPoint’s journey to Flutter through his own experience.
“I was hired at ClearPoint as a web developer. After a couple of projects, we needed more resources on mobile development. So ClearPoint asked if I wanted to be involved. At that point, my only experience with mobile development was using React Native. One of our senior developers, Richard Vowles, suggested using Flutter which allowed us to be faster and more agile as well as deliver a more consistent experience.
“Our client wanted a mobile app delivered in a short period of time and they left the technology choice up to us. I cautiously agreed to try Flutter and was quite impressed. I have been working with it for a year now and I love it. I basically became a Flutter developer by accident.”
ClearPoint currently has three core Flutter developers, and six in total. Usually, three developers work on a Flutter project at a time. Tim says these micro-teams feel like startup development teams. “With Flutter, we get feedback on our work very fast, so we can focus on productivity.”
“We realised that we could benefit greatly from using Flutter. ClearPoint’s clients love the fact that it’s multi-platform,” says Irina. “The cross-platform element is definitely something that makes Flutter stand out. At ClearPoint, we are trying to do even more things with Flutter. For example, we are launching FlutterShop to provide our services globally. There's definitely a lot of momentum and we're really excited about getting more work so we can focus on building apps with Flutter.”
ClearPoint engineers also created and released several open-source libraries to assist with development and testing in Flutter, making it an even better platform. These include:
- Ogurets a Gherkin + Cucumber implementation in Dart, which focuses on making the writing of BDD tests as easy as possible.
- Dart-codegen - Open API code generator for Dart. This plugin generates Dart code and is designed to be used with the OpenAPI v3 Maven Plugin. We created it to offer many improvements over Dart’s original offering.
CI/CD was a hassle until they found Codemagic
ClearPoint wanted to find a tool for CI/CD for Flutter while it was early days in the market. “When exploring CI/CD options, it took one of our developers a full week to get anything working on CI/CD,” says Tim. They finally managed to set everything up and it was working pretty well. However, the process required several manual steps and plenty of swearing. “At some point, we heard about Codemagic. We gave it a go and our developers all landed on the same point. Codemagic was absolutely the best tool on the market at the time, and still is.”
ClearPoint needed to deliver frequent updates to their clients and all the stakeholders, including business, testers, etc. The business wanted to have a fully automated one-click release. “At that time, Codemagic was the only tool that provided two-factor authentication to release to Apple’s App Store. That was a game-changer for us,” says Irina.
Codemagic saves two to three hours a day
For each project, ClearPoint runs around 10-20 builds a day. Each build has 775 unit and widget tests, and approximately 50 end-to-end tests. Running builds on Codemagic has saved them two to three hours a day over the past ten months which is roughly 10-15% of time each workday for the entire dev team.
“Without Codemagic, it wouldn't be possible to iterate as quickly as we do. Codemagic enables us to deploy frequently without even having to think about it,” says Tim.
“Quite often we don't even need to tell the clients when we deploy because they just get the notification through Testmagic*. It saves us so much time. It’s fantastic.”
*Testmagic.io – beta testing by Nevercode
“ClearPoint has been in the market for over ten years and one differentiator is the engineering side of things,” Irina tells us. “For the last five years, we’ve heavily focused on automation, DevOps and continuous delivery. So, the Codemagic tool is a perfect fit for the way we build software.”