Shopify's Migration from React Native to Native via AI Agents

Better Stackgo watch the original →

Shopify is abandoning React Native for Swift and Kotlin, leveraging AI agents to automate the migration while using a headless CLI architecture to bypass slow mobile build cycles.

The Shift to Native

Shopify has transitioned its mobile development strategy from React Native back to native Swift and Kotlin. The company concluded that the primary value proposition of React Native—writing code once for two platforms—is no longer a competitive advantage because AI agents can now generate high-quality native code for both platforms simultaneously. Consequently, Shopify is offloading the maintenance of major open-source projects like FlashList, React Native Skia, and Restyle to third-party maintainers.

Preventing AI Slop with Helix

To avoid generating unmaintainable code, Shopify developed an internal system called Helix. Instead of attempting to port features in a single pass, Helix breaks the migration into small, ordered checkpoints. Each checkpoint requires the AI to:

  • Implement a specific slice of functionality.
  • Pass automated tests.
  • Match the visual output of the existing React Native app.
  • Survive two adversarial code reviews.
  • Obtain human approval before proceeding to the next checkpoint.

This iterative loop ensures that feedback from early reviews is incorporated into subsequent steps, increasing the autonomy of the agent as the migration progresses.

Optimizing Agent Feedback Loops

Native mobile development is historically slow due to long compilation and simulator testing times. Shopify mitigated this by decoupling business logic from the UI. By running logic headlessly via a CLI, agents can iterate on features in milliseconds rather than minutes. When UI testing is required, the system drives interactions directly through the CLI, avoiding the latency and flakiness of Apple's XCUI test framework, which relies on traversing the accessibility hierarchy.

  • #ai
  • #dev-tooling
  • #react-native
  • #mobile-development

summary by google/gemini-3.1-flash-lite. probably wrong about something. check the source.