EAS Update alternative
An Alternative to Expo EAS Update
EAS Update is a good product and, if you are all-in on Expo's platform, often the path of least resistance. The reasons teams look elsewhere are usually structural rather than featural: they want the update server on their own infrastructure, they want bundles in their own bucket, or they have both Expo and bare React Native apps and would rather not run two different update systems. That is the gap this fills.
Where this differs
- You can run the entire server yourself with docker compose — the update service is not tied to a hosted platform
- Bundles live in your own S3-compatible storage, with devices downloading directly via presigned URLs
- The same SDK and CLI cover Expo and bare React Native, so mixed estates use one system
- Rollback republishes the last good bundle as a new mandatory release, which reaches devices already running the bad build
What stays the same
This is not a rethink of how OTA updates work, and you should be suspicious of anyone selling one. You publish a JavaScript bundle, devices check in and apply it, and a native change still means a store release.
- Expo projects are configured with a config plugin — see the Expo setup guide
- A bundle only reaches a native binary it was built for, via exact version or semver range targeting
- Store review policy is unchanged: over-the-air updates carry the same rules either way
An honest word about cost
Cost is the usual reason teams start looking, and it is the one thing we will not put a number on here. EAS pricing changes, it depends heavily on your monthly active users and bandwidth, and a comparison table quoting last quarter's figures would mislead you. Check Expo's current pricing against ours, and if you self-host, price it as what it is: your own storage and bandwidth bill.
How the two are shaped differently
| Expo EAS Update | OTA Update | |
|---|---|---|
| Hosting | Managed by Expo | Managed, or self-hosted with docker compose |
| Bundle storage | Expo's infrastructure | Your S3-compatible bucket — S3, R2 or MinIO |
| Project types | Expo and bare RN via expo-updates | Expo config plugin and bare React Native, one SDK |
| Rollback | Roll back to a previous update | Republished as a new mandatory release at 100%, reaching already-updated devices |
Where EAS Update genuinely wins: it is part of a platform. If you already use EAS Build, EAS Submit and Expo's tooling end to end, EAS Update is one integrated system with one bill and one support channel, and the ecosystem around it is far larger than ours. If that integration is what you value, it is a reasonable choice and we would rather you picked it than picked us and regretted it.
Frequently asked questions
- Does this work with Expo managed projects?
- Yes, via a config plugin. You run a prebuild as usual; the plugin wires up the native side on iOS and Android.
- Can I use this alongside EAS Build?
- Yes. The update service is independent of how you build your binaries — you can keep building with EAS and deliver JavaScript updates through this.
- Does it support the New Architecture?
- Yes. The SDK is verified on release builds on both Android and iOS.
- What about bare React Native apps that never used Expo?
- Fully supported, with a manual native setup for AppDelegate on iOS and MainApplication on Android.
Keep reading
Ship a fix without waiting for review.
Free to start. Publish a bundle, stage it to a percentage of devices, and roll it back for everyone if it goes wrong.