Case Study: Crew Member App Expansion and Modernization
Client: A Leading Global Hospitality & Cruise Line Operator
Industry: Hospitality / Travel
Services: Mobile Dev (React Native), Tech Lead, UI Library, CI/CD, Perf. Opt.
The Challenge
The client operated a critical internal mobile application used by thousands of employees both onboard ships and in shoreside offices. The existing application, built with older React Native practices, suffered from several key issues:
- Performance & Reliability: Unreliable performance, particularly with varying network conditions between shipboard satellite internet and shoreside broadband.
- Maintainability: An outdated architecture (using Higher-Order Components) made adding new features slow and difficult.
- Inconsistent UI: Lack of a standardized component library led to UI inconsistencies across different app sections.
- Low Test Coverage: Insufficient automated testing (around 48%) resulted in frequent regressions and bugs.
- Deployment Complexity: Manual build and deployment processes for QA, product teams, and production were time-consuming and error-prone.
Our Solution (Led by getProps Founder Lewis Long)
As the technical lead for a team of five developers, we undertook a comprehensive modernization and optimization effort:
Codebase Modernization: Refactored the application's core structure, moving from older patterns to modern React practices (including Hooks). This made the code significantly easier to read, maintain, and update for future features.
Reusable UI Library: Designed and built a library of over 50 reusable UI components, enforcing design consistency and accelerating future development across the app.
Comprehensive Testing Strategy: Implemented a multi-layered testing approach including unit/integration tests (using Jest and migrating to React Testing Library) and automated end-to-end tests (using Cucumber). This dramatically increased test coverage from 48% to 85%, ensuring higher quality and fewer regressions.
Performance & Network Optimization: Significantly improved app responsiveness by implementing code splitting and intelligent local caching (using Realm DB), reducing screen loading times by over 50%. Developed a hybrid networking solution that prioritized essential data transfer via limited onboard ship servers while deferring larger syncs to cloud services (AWS) when better connectivity was available, optimizing bandwidth usage. Efficient state management was maintained using Redux & Redux Saga.
Automated Build & Deployment: Established a streamlined process using CI/CD tools (BitBucket, Jenkins, App Center) to automatically build, test, and deploy application updates for both iOS and Android to various environments (QA, Staging, Production), reducing manual effort and errors.
Team Leadership & Mentorship: Successfully onboarded and mentored junior developers, managed code reviews, and ensured high-quality contributions, fostering a productive team environment.
The Outcome
The modernization project delivered significant, measurable improvements:
Drastically Reduced Bugs: The comprehensive testing strategy and increased coverage (to 85%) significantly minimized regressions and improved overall application stability.
Faster Performance: Users experienced noticeably faster screen load times (reduced by over 50%) and improved responsiveness, even in challenging low-bandwidth ship environments, thanks to caching and network optimizations.
Improved Maintainability: The modernized codebase was easier for developers to understand, update, and extend with new features.
Accelerated Development & Deployment: The reusable UI library and automated build/deployment processes allowed the team to deliver features and updates much more quickly and reliably.
Consistent User Experience: Standardized UI components ensured a cohesive and predictable interface for crew members.
This project demonstrated the ability to lead complex mobile modernizations, tackle legacy code, optimize for unique technical constraints (like variable connectivity), implement robust quality assurance practices, and deliver high-performance, maintainable solutions for large-scale enterprise needs.