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 UpdateOTA Update
HostingManaged by ExpoManaged, or self-hosted with docker compose
Bundle storageExpo's infrastructureYour S3-compatible bucket — S3, R2 or MinIO
Project typesExpo and bare RN via expo-updatesExpo config plugin and bare React Native, one SDK
RollbackRoll back to a previous updateRepublished 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.