Tools · February 1, 2026

Why we left React Native.

After three apps, we hit the wall. Here's what broke, what we tried, and where we landed.

After three apps, we hit the wall. Here’s what broke, what we tried, and where we landed.

React Native was the right call for the first app. It was the wrong call for the third.

What broke

The bridge. Specifically: every time we tried to do something the framework didn’t expect us to do — a custom camera pipeline, a watchOS extension, hardware-keyboard support — we ended up writing native code anyway, and then duct-taping it to a JS layer.

Where we landed

Native, on both platforms. Swift on iOS, Kotlin on Android. We share less code now and ship faster. The shared-code argument turned out to be a shared-bug argument.