5 min read · Updated May 2025
Expo OTA Updates Won't Solve Your Onboarding Problem
Expo OTA React Native onboarding advice often starts with: just use OTA. It is not wrong, but it solves a different problem.
OTA removes App Store review from code changes. Recus removes the developer from the onboarding change loop.
What Expo OTA actually does
Expo EAS Update pushes a new JavaScript bundle to your installed app. Users download it in the background. On their next launch, the new code runs.
- A developer writes the updated code.
- The bundle is built and pushed via EAS CLI.
- The rollout is gradual, so not all users get it instantly.
- Users must relaunch the app to get the update.
The PM self-serve problem
Can your PM add a field to onboarding without talking to a developer?
With OTA: no. The PM describes the change, the developer writes code, and the developer pushes the OTA update.
With Recus: yes. The PM opens the dashboard, adds the field, hits publish, and the change is live.
What OTA cannot do
Add native components that are not in the binary
OTA updates JavaScript. It cannot add native modules that were not linked at build time.
Enforce mandatory fields remotely
Changing which fields are mandatory is still a code change unless your app has a server-driven guard layer.
Track field-level drop-off
OTA is a deployment tool. It has no analytics layer and no field-level event model.
Instant 100% rollout
EAS Update rollout and relaunch behavior mean users can temporarily be split across versions. Recus schema is fetched on app open.
When to use OTA vs Recus
Use OTA for bug fixes, JavaScript changes, and code updates that still require a developer but skip the App Store wait.
Use Recus for onboarding specifically: PM self-serve, field enforcement, analytics, and instant changes without developer involvement.
Use both. They do not conflict. Recus runs inside your Expo app.
The honest summary
OTA removes App Store review. Recus removes the developer from onboarding changes entirely. Different tools, different jobs.