Leadership1 publisher2 min readPublished
Shopify reports sub-500ms P75 screen loads after migrating all its apps to React Native
Shopify's five-year retrospective gives figures for speed and stability, describes the productivity gain in words alone, and says iOS and Android specialists remain essential to its apps. The mix limits how much of it an outside team can borrow.
The Board Room · Leadership desk

What happened
- Shopify says it has moved every one of its apps to React Native in the five years since it declared the framework the future of mobile at the company.
- The retrospective reports screen loads under 500 milliseconds and more than 99.9% crash-free sessions across those apps.
- Engineers now work across web and mobile, which Shopify says lets teams do more with the same number of people and opened new growth opportunities.
Compiled by The Board RoomSomething wrong?How this is made
Why it matters
- constraint The account can carry a performance argument into a review, since latency and crash rate come with numbers. It cannot carry a staffing plan, where the gain arrives as an adjective.
- decision Anyone copying this is choosing a migration order app by app, and the five years covers a whole portfolio. Read it as a portfolio timeline, not an estimate for a single app.
- cost Whoever signs this off is funding a two-skill mobile org, because the framework work and the native work both stay staffed.
- precedent With figures attached, this becomes the account cited in internal debates, and the burden moves to whoever argues React Native cannot hit their own latency target.
Sub-500ms is a P75 number, so one screen load in four in the Shopify app takes longer than half a second [6][19]. Above 99.9% crash-free sessions comes to fewer than one crash per thousand sessions [5][20]. Both are given as current state. The productivity gain, by contrast, is described as a step change with no figure attached to it [3][21].
Performance was the gate. Shopify says it was the biggest question the company had about switching and the main reason it did not move sooner [12]. Before deciding, the team prototyped extensively, watched Meta's work on eliminating bottlenecks, identified areas such as lists where it could contribute, predicted the framework would get much faster and went all-in [13]. The post quotes CEO Tobi Lutke saying "not all fast software is great, but all great software is fast" [14]. Its conclusion after five years: "native doesn't automatically mean fast, and React Native doesn't automatically mean slow" [15].
The talent-portability claim rests on TypeScript being ubiquitous. Shopify says web developers find it much easier to start on mobile with React Native than with native iOS and Android, and that mobile developers who know React Native move to the web easily [16]. That flexibility, the post says, lets teams accomplish more with the same number of developers [4]. The same post says iOS and Android specialists are essential to building great mobile apps and that there is no replacing their experience and taste [10], and that the company still uses native code wherever native is the better tool [11]. The saving described here is a feature built once instead of twice [2][7].
This is the team that made the call, grading its own decision on its own engineering blog five years later [22]. The parts of it that could have come out differently are the two numbers and the completed migration: every app moved [8].
The most portable finding is how the move was run. Shopify avoided a one-size-fits-all cutover and let each team choose when and how to migrate its app; feature work kept shipping through the transition [9]. The developer-time argument is narrower than it looks, too. On codebases that size, Shopify says a trivial change took several minutes to compile and run on an emulator or device under native tooling, and hot reloading removed that wait [18].
For a team deciding this quarter, the defensible reading of this record is that a React Native app at Shopify's scale held a 500ms P75 screen load and stayed above 99.9% crash-free sessions [5][6]. The headcount case has to be argued on a team's own numbers.
What to watch
- Whether Shopify publishes a native baseline or a productivity figure that outside teams could check the step-change claim against.
- Whether other large consumer apps publish P75 screen-load numbers on the same definition; that would turn one account into a comparison.
- Whether Shopify's hiring pattern for iOS and Android specialists changes now that every app runs on React Native.