We are builders. We want to ship features, not fight build tools.
But for the last year, our team at RxOne Care was doing exactly that. We were stuck on React Native 0.69. It was released in June 2022. In the tech world, that’s ancient history.
Every time we tried to push a release, it felt like going to war.
We weren't just coding features; we were wrestling with compatibility issues. A package breaks here. A platform API changes there. We were spending more time fixing bugs in our build pipeline than actually improving the app for our users.
It drained our energy. It killed our momentum.
The "Safe" Option vs. The Right Option
In October, we finally said enough is enough. We had to migrate.
The initial plan was the standard engineering approach: The incremental upgrade.
We thought, "Let's play it safe. We'll upgrade version by version, from 0.69 all the way up to the latest LTS (0.78)."
It sounded responsible. It also sounded painful.
Then, a second idea came up. A bolder one.
"Why not just move to Expo?"
We looked at the benefits. Expo CLI. Expo Router. No more messing with native folders. The promise was simple: Faster release speed.
We realized we didn't just want a newer version of React Native; we wanted a better way to build. So, we took the leap.
33 Days to Stability
We didn't just upgrade. We transformed the codebase.
It wasn't instant magic. It took us approximately 33 days of focused work to get a stable build ready for release.
Was it smooth sailing? mostly. But we did hit one major roadblock.
Device compatibility is always tricky, and for us, the villain was @gorhom/bottom-sheet. It’s a great library, but during the migration, it gave us serious headaches on specific devices.
But that’s the trade-off. You trade the complexity of maintaining native code for the complexity of configuring libraries correctly. Once we solved it, the difference was night and day.
The Result
We are no longer fighting the framework.
We are back to doing what we love building a great product. If you are stuck on an old version of React Native CLI, terrified of the upgrade path, maybe it’s time to stop upgrading and start migrating.
Make the jump. Your future self will thank you
Written by
Abhinav Yadav