---
title: "Migrating Shop app from React Native to native"
description: "Shop migrated its React Native app to native iOS and Android implementations in SwiftUI and Jetpack Compose after coding-agent advances changed the economics of a shared mobile codebase. A one-week proof of concept showed that one engineer using agents could recreate screens, interactions, and flows closely enough to make a full migration feasible although the result was not production-ready. Six engineers then built the native foundations and main journeys with feature teams validating edge cases; they preserved sign-in state, push notifications, analytics events, and behavior while simplifying some screens. Compared with React Native, native startup was 23% faster on iOS and 50% on Android, stability rose from 99.5%+ to 99.95%+, Android size dropped 109 MB, release builds fell about 75%, and scrolling reached 120 FPS. The migration’s workflow combined specialized agents, plan approval, Tardis live-app feedback, screenshot and event comparisons, and human review while feature parity remained a release requirement."
---

# Migrating Shop app from React Native to native

[Shopify](https://yomu.fyi/company/shopify) · 2023-10-18 · Sep 10, 2026

**Type:** Problem & solution

## Summary

Shop migrated its React Native app to native iOS and Android implementations in SwiftUI and Jetpack Compose after coding-agent advances changed the economics of a shared mobile codebase. A one-week proof of concept showed that one engineer using agents could recreate screens, interactions, and flows closely enough to make a full migration feasible although the result was not production-ready. Six engineers then built the native foundations and main journeys with feature teams validating edge cases; they preserved sign-in state, push notifications, analytics events, and behavior while simplifying some screens. Compared with React Native, native startup was 23% faster on iOS and 50% on Android, stability rose from 99.5%+ to 99.95%+, Android size dropped 109 MB, release builds fell about 75%, and scrolling reached 120 FPS. The migration’s workflow combined specialized agents, plan approval, Tardis live-app feedback, screenshot and event comparisons, and human review while feature parity remained a release requirement.

## Context

The Shop app had used React Native since 2020. Planned New Architecture work would require revisiting native module integrations, rendering, and the boundaries between shared and platform-specific code, while advances in coding agents changed the tradeoffs behind maintaining a shared mobile codebase.

## Approach / What changed

Shop rebuilt the app natively with SwiftUI for iOS and Jetpack Compose for Android. The migration used coding agents, a reusable Pi coding agent workflow, accepted implementation plans, Tardis tooling for live app feedback, and screenshot and event comparisons to preserve behavior, analytics, continuity, and feature parity.

## Takeaways

- A one-week proof of concept, led by one engineer using coding agents, recreated enough of the existing React Native app’s screens, interactions, and flows to support a full migration.
- Native releases improved several measured outcomes: iOS and Android startup was 23% and 50% faster, Android size fell by 109 MB, Android release builds took about 75% less time, and scrolling reached 120 FPS.
- Tardis gave agents structured access to native app events, logs, and state, while checkpoint comparisons checked event names, counts, payload fields, and relationships across React Native and native flows.

**Tags:** [Jetpack Compose](https://yomu.fyi/topic/jetpack-compose), [Kotlin](https://yomu.fyi/topic/kotlin), [React Native](https://yomu.fyi/topic/react-native), [Swift](https://yomu.fyi/topic/swift)

- Source: [Shopify](https://shopify.engineering/shop-app-migration)
- Source URL: https://shopify.engineering/shop-app-migration
- Ingested by Yomu: 2026-09-11T04:02:17.263Z

[Read original post](https://shopify.engineering/shop-app-migration)
