Migration guide
Migrate from Expo EAS
to Ubriot
Move EAS Build and EAS Update to Ubriot in one command. You keep your existing Expo app, and get native builds, TestFlight and Google Play submission, OTA updates, and AI failure diagnosis on one flat plan, with no per-user or bandwidth meter.
Why teams move off EAS
EAS Update is metered by users and bandwidth
Costs scale with monthly active users and CDN bandwidth. Double your users, double that line item, with no efficiency gain as you grow, and a busy release month can spike the bill.
A one-line hotfix re-downloads the whole bundle
Every user pulls the full JS bundle again for a small change, which is what makes the bandwidth component climb.
Builds and updates are priced as separate products
EAS Build and EAS Update bill on different models. Ubriot puts builds, store submission, and OTA on one flat plan.
No release memory across builds
When a build fails, you read the log. Ubriot keeps a per-app history and diagnoses new failures against your app's own past.
Migrate in four steps
Install the Ubriot CLI and log in
One npm install, then authenticate. Your Expo config and app code stay as they are.
npm install -g @ubriot/cli
ubriot loginPreview the migration
The command detects EAS usage (eas.json, an EAS update URL, eas-cli) and prints exactly what it will change. Dry-run is the default.
ubriot migrate easApply it
Ubriot repoints expo.updates.url and the channel header from EAS to Ubriot, and backs up app.json. Your Expo app is unchanged otherwise.
ubriot migrate eas --apply --channel productionBuild and update on Ubriot
Swap eas build / eas update for ubriot ship / ubriot update. Same Expo app, new release surface.
ubriot ship ios --app <your-app>
ubriot update --app <your-app> --channel productionWhat this does and does not change
This runs your Expo app on Ubriot, it does not remove Expo. Ubriot OTA uses the expo-updates protocol, so migrating is a config repoint, not a rewrite. You switch the build and update commands from eas toubriot, and keep everything else.
What you gain on Ubriot
- Builds, TestFlight and Google Play submission, and OTA on one flat plan
- No per-MAU or bandwidth metering on updates
- AI diagnosis: failed builds are diagnosed against your app's own history
- Named channels, instant rollback, and a runtime-safety check before you publish
- Push notifications (Ubriot Notify) in the same platform
Move off EAS
14-day full trial, then from $19/mo. Flat pricing, no per-MAU meter.