Upgrading the Checkatrade Mobile Application

Collaborating with Checkatrade, we revamped their React Native app, migrating key sections from legacy systems to deliver top-notch performance across platforms.

CLIENT INFO
Checkatrade is a platform set up to connect tradespeople in the UK with homeowners who need a given service.
Industry
Home services
Company type
Enterprise
Region
United Kingdom
tech INFO
Checkatrade's React Native app upgrade involved rebuilding key sections and adding Quotes and Invoices.
Technologies
React | React Native
Platforms
Mobile | Cross-platform
Tech Stack
EXPO | Lodash | Typescript | React Native Web | Firebase | react-native-testing-library
highlights
Before 14.5s
After 2.5s
35k
lines of code
7
months of work
800
code commits
88%
decreased shimmer render time
50%
quicker load times for chats on subsequent visits
50%
faster rendering time for chats
18%
less frame junk when scrolling
before
The refresh time was 5-11 seconds
after
The refresh time was reduced to ~2 s

Instant Preview

Developers can instantly preview code changes on real devices without a complex setup.

Checkatrade Project highlights

  • Seamless integration
  • Scalability
  • Better user experience
  • Lasting results
Checkatrade
CHALLENGE

The purpose of our collaboration with Checkatrade was to deliver a first-rate mobile app working on multiple platforms. The client already had a React Native application but needed its key sections rebuilt and migrated from an old legacy platform into the app. A dedicated team of Callstack developers was to help with that.

work done

Checkatrade needed to have the main sections built natively into the app. Previously, for these important workflows, they were iframing in the web page version from their legacy portal, which hindered the app performance.

To kick off the project, Maciej Jastrzębski selected the technologies to use. Aiming for instant releases, we chose to reuse existing, well-supported libraries such as 

  • react-native-navigation, 
  • react-native-pager-view, 
  • and Lodash.

Initially, we focused on the Jobs, Photos, and Reviews sections. Each area was created with the user in mind.

Thanks to the added functionalities, the registered tradespeople can now showcase their work and conveniently connect with their customers in the local area. 

define
Identified confirmed/reported issues such as re-renders and created a backlog for potential improvements.
measure
Used Macro tool measurements.
ANALYZE
Selected the most promising performance changes.
IMPROVE
Implemented changes following React Native best practices.
CONTROL
Re-measured with the Marco tool and compared to the 4.58.0 native version.
Deployment
 Developed the release process for both Android and iOS.
API DESIGN
Proposed an API based on the Rive Android library features.
INTEGRATION
Implemented Rive SDK integration for Android and created an example app for testing.
iOS SUPPORT
Extended the integration to iOS after successful Android testing.
AUTOMATION
Created a Github Action workflow for automated library releases.
PUBLIC RELEASE
Made the library publicly available on platforms like CocoaPods and Maven.
DEPENDENCIES
Managing dependencies, including Expo and react-native packages for each new release.
RELEASES
Automating the release process with custom GitHub Actions.
TRAINING
Providing React Native training through pair programming, code reviews, and workshops.

01
CODE REFACTORING
Kicked off the project with refactoring the whole socket.MIGRATION Migrated the codebase to TypeScript.
02
MIGRATION
Migrated the codebase to TypeScript.
03
DEPENDENCIES
Upgraded major dependencies such as Expo, React Navigation, and React Query.
04
PAYMENTS
Created two options: In-app purchase with Google Play or App Store and credit card payment.
05
linking
Sorted out links, integrated content, and implemented html rendering.
We provided full front-end support, project configuration, feature parity, and expert advice on technical and user experience. We also implemented a new design guideline, including dark mode with auto theme detection.
01
RN PAPER
Forked the React Native Paper library.
02
ci
Established continuous integration for automated code updates.
03
testing
Set up a Storybook for component testing.
04
design
Developed the basis of the design – color, layout, and typography.
Once we had the basics down, we started working on the UI library components. The components we developed included: AppBar, TextField. Button, Icon Button, Toast, which included animation and swipe-to-dismiss, Match Status, Search, and many more!
Apart from all the fixes and improvements, we provided metrics that should be tracked over time so the client knows exactly what to monitor and correct to maintain great performance levels long term.
16.8s
App start time, before 48.5s
 8.6s
Report screen load time, before 15.9s
2.5s
Sending a message, before 14.5s
60FPS
Average FPS on LHN
2.6s
Search screen load time, before 11.8s
01
Together
we acted as staff augmentation within Advantys’ team.
02
Engaged
in collaborative problem-solving and solution exploration.
03
supervised
by Advantys' CTO, the project utilized GitHub, Notion, and Slack for communication.
01
migrating
from a custom server-side rendering (SSR) solution to Next.js 
02
Focusing
on Core Web Vitals metrics
03
Optimizing
a large shared JS bundle 
04
Introducing
Fast Refresh for accelerated development iterations
The introduction of Fast Refresh in Next.js further accelerated development iterations. All in all, it contributed to an enhanced user and developer experience.In a span of several months, our team effectively overhauled the AutoZone app's performance, which initially struggled on both desktop and mobile devices. To find out more about the whole AutoZone project, head over to the case study on main case study title
01
strong
architecture with professional maintenance and continuous updates
02
high
code coverage with quality-compliant unit and integration tests
03
Comprehensive
testing, including end-to-end.
04
Faster
time-to-market with mobile process automation.
05
New PoC
features like biometrics and mobile health kit integration.
Last but not least, our collaboration significantly enhanced the knowledge of Thriva's development team regarding React and React Native.
Autozone app
  • Students new to programming and React Native
  • Web developers unfamiliar with device APIs and native apps
  • Native developers exploring web app frameworks and React Native's UX potential
  • React Native developers prototyping and sharing ideas
  • Library maintainers creating examples and documentation
  • Users providing reproducible cases for bug reports
  • Speakers and workshop presenters conducting live coding sessions
Callstack person image
“The collaboration was great throughout, with Callstack engineers seamlessly working as part of our agile teams.”
Gareth Jenkins - Head of Engineering Trades Product
RESULTS

The intense transformation efforts resulted in moving Checkatrade off unwanted legacy systems.

All the enhancements helped to massively improve the user experience in key areas of use. Ever since the notable features were rebuilt, the churn rate has steadily dropped.

Screenshots with jobs, images and reviews in checkatrade app

Your Success Story is Next
callstack illustration
CALLSTACK APPROACH

During the project, we were part of the client’s in-house teams, and joining them felt very natural - so did the whole partnership. Every release was a success achieved in the spirit of great trust and respect. 

We created a long-term successful partner experience showing that we are partners, not just developers who provide code. As the scope of work extended, it was crucial for us to work with alignment and transparency.

get in touch

Trusted by

“The team at Callstack are the most experienced and trusted engineers in the React Native community and ecosystem.”

Nader Dabit

DevRel + XD at EigenLayer / EigenDA

at Amazon Web Services

This information will be used only to contact you. For details, check our Privacy Policy.

Upgrading the Checkatrade Mobile Application

Let’s talk about your project

Let's connect
Callstack Cosmos
Callstack Cosmos

“The collaboration was great throughout, with Callstack engineers seamlessly working as part of our agile teams.”

Gareth Jenkins
-
Head of Engineering ‑ Trades Product

In brief

We optimized the client’s mobile app performance and introduced a custom tool to measure performance regressions. We set up performance tests and documentation to enable a seamless transition of knowledge with the in-house team of developers.

Client Info
Entain is one of the world’s largest sports betting and gaming entertainment groups.
Industry
Commercial gaming
Company type
Enterprise
Region
Australia, Asia & Oceania
Tech Info
Performance optimization project with the best practices, approaches & tech solutions
Technologies
React Native | Native
Platforms
iOS | Android
Stack
Redux | Tanstack | Reassure | GraphQL

Performance Boost

87.5%

In 87.5% of the screens, the number of rerenders decreased or remained the same, which affected the acceleration of the initial performance.

React Universe

In brief

Checkatrade is a platform set up to connect tradespeople in the UK with homeowners who need a given service. They are owned by Brookfield and have over 500 people working for them across their offices in Portsmouth and London. The purpose of our collaboration with Checkatrade was to deliver a first-rate mobile app working on multiple platforms.

Working on the app

The client already had a React Native application but needed its key sections rebuilt and migrated from an old legacy platform into the app. A dedicated team of Callstack developers was to help with that. The app development project went so well that the scope of work expanded - we took care of more areas than initially planned. At all times, we happily worked on the application with the in-house team.

Checkatrade needed to have the main sections built natively into the app. Previously for these important workflows, they were iframing in the web page version from their legacy portal, which hindered the app performance. 

To start with the project, Maciej Jastrzębski, specified which technologies to use. Since the client wanted to make instant releases, ideally, we decided to reuse what was already out there. That’s why our dev team made of Igor Bejnarowicz, Olimpia Żurek, Bartłomiej Dybowski, Michał Muzyk, and Marcin Swornowski suggested bringing into the app well-used and supported libraries including react-native-navigation, react-native-pager-view or Lodash. The whole project was coordinated by our PM, Natalia Gros.

In the beginning, we were asked to take care of the following areas: Jobs, Photos, and Reviews.

Each area was created with the user in mind. Thanks to the added functionalities, the registered tradespeople can now showcase their work and conveniently connect with their customers in the local area.

Screenshots with jobs, images and reviews in checkatrade app

As the project evolved, we were asked to create another category: Quotes and Invoices. It was a major new feature and we crucially helped the client hit a very key deadline for its launch. The cooperation was considered by the client to be highly successful at every stage.

“The collaboration between Checkatrade and Callstack was great throughout, with their engineers seamlessly working as part of our agile teams. At times where additional support and expertise was needed, we were able to tap into this as well. Overall a great collaborative effort."

Exemplary partnership

During the project, we were part of the client’s in-house teams, and joining them felt very natural - so did the whole partnership. Every release was a success, and it was a success achieved in the spirit of great trust and respect. We created a long-term successful partner experience showing that we are trusted experts and partners, not just developers who provide code. As the scope of work extended, it was crucial for us to work with alignment and transparency.

Lasting results

The intense transformation efforts resulted in moving Checkatrade off unwanted legacy systems. All the enhancements helped to massively improve the user experience in key areas of use. Ever since the notable features were rebuilt, the churn rate has steadily dropped.

Callstack approach

Our collaboration is always based on partnership and a very comprehensive approach: we dive into the project, analyze and discuss what should be done, and plan our work accordingly. The process is adjusted to a client’s needs. The Checkatrade project was no different. We offered our expertise and support at every stage of the app development - from a detailed review, the build and testing phases, to releasing the updates to customers. We applied the best React and React Native solutions available and relevant to the project.

The challenges we’ve solved so far

Related services

Service

Optimization of Products and Processes

Callstack illustration

get in touch

Fill in the form and tell us a little bit about your enquiry. We’ll get back to you promptly to discuss your requirements.

This information will be used only to contact you. For details, check our Privacy Policy.