Full Replatform of a Business App
Modernized with React Native.
- Industry
- HR Tech / SaaS
- Duration
- About 6 months (requirements through launch), plus ongoing operation
- Team
- 1 PM/engineer + 2 development engineers (Netsujo)
- Scope
- Requirements definition, architecture design, React Native implementation, release support, maintenance and operation
- Technologies
- React Native, TypeScript, iOS/Android cross-platform
Background
The client’s existing business app had accumulated features over many years, and the resulting codebase bloat had become a management issue: UX had degraded, and maintenance cost was climbing.
Separate native codebases for iOS and Android doubled the cost of every fix and led to inconsistent quality. Adding a new feature required investigating the impact on existing code, which had made release cycles longer and longer.
The challenges
- Business: degraded UX and rising maintenance cost were slowing the business down — new features shipped late, widening the gap with competitors.
- Technical: double maintenance from separate iOS/Android codebases, an undocumented legacy data structure, and an aging technology stack were compounding each other.
- Organizational: whether to do a full replatform or an incremental rebuild, how to run the old app in parallel during migration, and how to hand off post-launch maintenance were all undecided — and the in-house engineering team had no spare capacity to drive a replatform.
Our approach
Separate iOS/Android development is a structural problem that doubles cost — incremental fixes cannot resolve it. We adopted React Native to build on a foundation that could also draw on web-development resources. Given how deep the existing technical debt was, we judged that a full replatform would have lower total cost than a staged migration.
During requirements definition, we inventoried every screen and feature in the current app and prioritized them on two axes — usage frequency and business impact — narrowing the replatform scope by clearly identifying features that were no longer used.
- Requirements definition: identifying issues in the current system, user interviews, and prioritization
- Architecture design: cross-platform design using React Native
- Implementation: a full replatform on a single iOS/Android codebase
- Data migration: reverse-engineering the old schema and building migration scripts
- Release support: app-store submission and post-launch stabilization
- Maintenance and operation: ongoing feature additions on the unified codebase
Results
Key takeaways
- Completed the move to a modern technology stack (React Native)
- Consolidated maintenance into a single codebase, eliminating duplicate fixes
- Improved UX through a UI refresh, well received by on-site staff
- Shortened release cycles, speeding up new-feature delivery
- Continued as an ongoing partner through the maintenance and operation phase
Before / after
- Before
- Separate iOS/Android codebases doubled fix costs; legacy UX and lengthening release cycles were slowing the business down.
- After
- Consolidated onto a single React Native codebase, cutting maintenance effort while refreshing the UI, with Netsujo continuing to support the project after launch.
Who this fits
- Technical debt in an existing app is holding back business speed
- iOS and Android are maintained as separate codebases, doubling cost
- Considering a replatform but not yet able to get into requirements
- Want a partner who works alongside you with a PM mindset, not one that simply takes an outsourced brief
- Want the design to consider post-launch maintenance from the start
To talk through a similar replatform or app-modernization project.
Contact us