Migrating a 150k-user app to the React Native new architecture
Migrating a live app with 150,000 monthly users to the React Native new architecture was equal parts exciting and nerve-wracking. Here is the honest account.
What got faster
Startup time and list scrolling both improved noticeably. The new renderer and the synchronous native interface remove a class of jank that used to show up on lower-end Android devices — which, for an Indian user base, is most devices.
What broke
Older third-party native modules were the main pain. Anything that had not been updated for the new architecture needed a shim or a replacement. We budgeted a full sprint just for dependency triage and were glad we did.
The three-day bug
A subtle threading difference in how native events were dispatched caused an intermittent crash that only appeared under fast navigation. The fix was one line; finding it took three days of careful instrumentation. The lesson: invest in good native crash reporting before you migrate, not after.
Migrate behind a flag, roll out to 1% first, and watch your crash-free rate like a hawk.
We shipped to 100% over two weeks with no rollback. Worth it.