We supported Advantys in refreshing the codebase and improving performance and UI/UX of their WorkflowGen mobile app.
Advantys works with organizations worldwide to address complex business processes with optimal engineering and tools. WorkflowGen is a leading digital process automation solution that lets organizations and IT providers design and deploy business-critical, process-driven web and mobile applications.
Advantys asked us to modernize their WorkflowGen mobile app that relies on the first generation React Native technical stack.
During our cooperation, we worked on:
- improving the overall performance and UI/UX of their mobile app,
- and migrating existing React Native / GraphQL architecture with EXPO, Typescript, React Native Paper and React Query,
to achieve the main goals of our client:
- make the codebase easier to maintain,
- refresh the whole app by upgrading previously used libraries,
- and improve the new features’ development velocity.
The whole process of rewriting the app from scratch took us 9 weeks.
What led Advantys to Callstack was the very need to upgrade the application by achieving the aforementioned goals.
During our cooperation with Advantys, to achieve the aforementioned goals, we had to face the following challenges:
Optimize UI/UX – Improve design, keep it consistent in the whole app, follow platform patterns and guidelines using React Native Paper while maintaining as much Android Native UI as possible.
Implement “on behalf of” functionality – functionality that allows users to do some activities “on behalf of” somebody from their team (used in Project Management).
Implement the dark mode (with the help of React Native Paper).
Implement authorization with external providers – authentication by using OpenID Connect protocol with the use of 4 different providers – Auth0, Okta, Microsoft ADFS, and AZURE.
Share our knowledge, best practices, and educate Advantys team how to proceed Over-The-Air (OTA) updates.
The approach and work done
Type of cooperation
Callstack developers jumped into Advantys’ team structure as a staff augmentation being the ones responsible for the frontend side of the update. Usually, the cooperation was about discussing different ways for solving current issues and looking for the best possible solutions in terms of performance and UI/UX.
The whole project was supervised by Arnaud (Co-Founder & CTO of Advantys) as a project owner who clearly explained to us their needs. In addition to Github (issues, PRs, projects), Notion and Slack collaborative tools have been used to accelerate the team’s responsiveness.
React-Query as a GraphQL client
The previous version of the Advantys’ mobile app was using Apollo Client v1 as a GraphQL client, which is no longer maintained. The app also had some issues with unpredictable caching data that Apollo does “under the hood”.
In the new, upgraded version, we decided to use React-Query to solve the problem with caching the data and
graphql-request as a simple GraphQL client.
The GraphQL Code Generator tool has been successfully used to generate all the Typescript types and React-Query operations. This solution has proved to be a development productivity booster.
Having in mind our knowledge and ownership of React Native Paper, Advantys asked us to optimize the UI and UX of their app. The main challenge here was to choose such Papers’ elements as not to disturb the native vibe, look and feel of the app. For this reason, we decided to choose only such elements as:
- and Typography.
It allowed us to significantly accelerate the development process and keep the entire interface coherent. We also replaced react-native-navigation with react-navigation which contributed to the improvement of DX and also contributed to faster development of new features.
React Native with EXPO managed workflow
Advantys’ mobile app we’ve been working on is a simplified version of their web platform which was quite a challenge because some of its elements are created in WebView.
As we needed to make some changes in native react-native-webview code, we had to eject the EXPO app. Luckily, it didn’t have a negative impact on DX so we could keep using EXPO Managed Workflow in the development process and Bare Workflow was used only for final testing and publishing the app.
However, when it comes to Over-The-Air (OTA) updates, both Managed and Bare workflow cooperate with EXPO out of the box so it was not a problem for us.
The main benefits of working with Callstack are:
- improved DX and CICD with Expo and a modern React Native stack
- refreshed look and feel of the Workflowgen mobile app,
- easier and less time-consuming maintenance of the codebase while improving the application performance
- implementation of new functionalities such as dark mode and “on behalf of”.
Also, we implemented app monitoring and bug tracking systems which will help to provide users with a better experience in the future.
We have really appreciated the level of technical skills and the quality of the collaboration we had with Callstack software engineers and project management team.Arnaud Bezançon, CTO at Advantys
The development efforts have been wisely evaluated and the final costs are on track with the initial estimates.
As a CTO working in the software development field for more than two decades, I can confidently say that I strongly recommend Callstack for any development project related to React Native.
Need help with refreshing, improving performance and UI/UX of your app? As a team of experts in React Native mobile development, we offer flexible solutions tailored to your needs. Contact us to discuss the details.