Migrating Shop app from React Native to native
Shop, one of the fastest-growing mobile apps worldwide, has migrated its Shop app from React Native to native Swift and Kotlin. Leveraging AI-powered coding agents, the team completed the migration in just 12 weeks, transforming a proof of concept into a fully rebuilt app published in app stores.
Initially, an engineer spent a week using coding agents to migrate the existing React Native app into a native iOS app built with SwiftUI to test its feasibility. This proof of concept demonstrated that a feature-for-feature migration was achievable, providing confidence to proceed with a full migration.
The migration team, consisting of six engineers, focused on building the native foundations and main user journeys while feature teams joined to validate their areas and handle edge cases. The primary goal was to preserve the behavior of ported features and analytics events that downstream systems relied on, ensuring a seamless user experience without service disruptions.
The migration allowed the team to simplify the app by retiring some screens and streamlining others, comparing the native apps with their React Native predecessors across startup time, session stability, app size, build time, and rendering performance. Native apps showed improved stability rates and reduced build times, resulting in faster testing and lower computational usage.
With agents working in separate worktrees, the team could run multiple sessions concurrently, giving them structured access to live native app events, logs, and state through the Tardis debugging tool. This tool enabled agents to compare event names, counts, and payload fields between React Native and native apps, ensuring parity reviews and validating fixes more efficiently.
Written by urgent.news from ByteByteGo's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.