

About the project: Sans is a leading provider of cybersecurity training courses that partners with Fortune 500 companies. TeaCode was entrusted with updating their mobile application to meet modern standards and feature requirements.
Result in short: We successfully modernized a legacy mobile application for Sans, improving its functionality and ensuring its compatibility with current operating systems and app store requirements.
Project Manager
Tech Lead
Developer
QA Lead

This approach included overhauling the existing codebase to resolve technical issues and adding features to enhance performance and usability.

Sans is a large and well-established company in the cybersecurity training sector. They offer a range of training solutions, including workshops and online courses. The company works with a significant portion of Fortune 500 companies.
The mobile app was created many years ago during
the COVID-19 pandemic to expand the availability
of online courses. It allows users to access cybersecurity training materials, including videos, slides, quizzes, and assignments. However, the app has become outdated and no longer met the compliance requirements for publication on the Google Play Store.
Sans brought TeaCode on board as a dedicated mobile department, responsible for managing every aspect of the mobile app.
Our mission was to enhance their mobile application, resolve compatibility issues, and ensure it met modern standards for
user experience and app store compliance.
We conducted an in-depth analysis of the provided codebase, focusing on new features like notes and bookmarks.
Updating the codebase from Expo 40 to Expo 51 and React Native 64 to React Native 74. It was necessary to resolve compatibility issues and meet app store compliance requirements. We preserved and expanded end-to-end and unit tests to maintain the application’s stability and quality.



We addressed existing bugs and implemented improvements to enhance the overall user experience.
Effective collaboration between a developer and a QA lead is at the heart of this project’s success. By working closely, both teams ensured smooth transitions between development, testing, and deployment, addressing issues proactively and maintaining a high standard of quality throughout.
The project began with a critical task: migrating the app’s codebase to the latest versions of Expo and React Native. This effort addressed breaking changes across 10 major versions, making it a complex and resource-intensive undertaking.


The QA process was integral to ensuring a stable and high-quality application. Our developers inherited
a robust QA framework, which they maintained and enhanced.
Our QA process ensures the delivery of a high-quality product by leveraging tools like Xray for test case management, Appium for mobile application automated testing, and Browserstack for comprehensive cross-platform testing on real devices.

1
The QA team familiarizes themselves with the application to identify potential bugs.
2
Maintaining existing automated tests and developing new ones written in Python using the pytest library with Appium and BrowserStack, where the tests are run on real devices in the cloud.
3
QA executes the prepared test cases and performs additional ad-hoc testing as needed.
The team verifies that all features work cohesively
and as intended.
4
QA ensures that updates do not disrupt any essential functionalities.
5
After fixing major issues, the release candidate undergoes rigorous testing.
6
The team retests fixes for previously reported bugs to ensure they are resolved.
7
The client performs the final round of testing before the application is submitted to application stores.
Ongoing
Bug Reporting & Expanding the coverage of end-to-end tests.
Strong collaboration was vital to the project’s success. Bi-weekly meetings with the client enabled a smooth workflow, fostering strong communication and alignment. Proactive improvements exceeded the initial project scope.
The app was successfully updated to the latest versions of Expo and React Native, resolving critical compatibility issues and enabling app store publication.


Bug fixes and code optimizations improved app stability and delivered a better user experience.
Development followed an iterative approach, prioritizing the implementation of core functionalities, including the carbon footprint calculator, user registration, and authentication systems. Agile methodologies enabled continuous feedback loops, ensuring the evolving needs of users and technical requirements were consistently addressed throughout the development cycle.

Let's win your market together!
Contact us to discuss your app idea and possibilities. We’ll advise you on the best solution and estimate the project. If you have any questions – we’ll provide you with answers.

Umów spotkanie z Markiem,
naszym Technical Solutions Managerem
Write a message
mark.cameron@teacode.io