June 22, 2026
Expo Limitations: When You Need to Prebuild or Go Custom Native
Expo removes a lot of native friction, but it isn't unlimited. Here's how to know which side of the line your app is on.
What Expo's managed workflow is genuinely good at
For most business apps, productivity tools, social apps, and content-driven products, Expo's managed workflow covers the vast majority of what's needed: camera access, push notifications, file storage, standard navigation, and a fast over-the-air update path for JavaScript changes. This is where most startup MVPs live comfortably.
Where Expo's managed workflow starts to strain
Heavy custom native modules that aren't in the Expo SDK or community package ecosystem, deep Bluetooth or hardware integrations, certain background processing requirements, and some highly specialized SDKs are where the managed workflow starts to strain.
Prebuild is often the right middle ground
Expo's prebuild step generates the native iOS and Android projects while keeping most of the app in the Expo and React Native world. This lets you add a specific native module or configuration the managed workflow doesn't support, without fully abandoning Expo's tooling and update model.
When custom native development actually makes sense
If your product's core value depends on deep native integration, real-time hardware communication, complex background audio processing, or something similarly specialized, that's a real signal to plan for custom native work from the start rather than discovering the limitation midway through a build.
How we decide, in practice
We start every build in the managed workflow by default, since it's faster and easier to maintain. We only move to prebuild or custom native modules when a specific, named requirement genuinely needs it, and we say so clearly during scoping rather than after the fact.
Related
Services that go with this
Keep going from the article to the service it connects to.
CTA
Have a project in mind?
Use the contact form to share your scope and we will help you figure out the right path from here.