Replace App Center and CodePush with one release surface
App Center made builds, distribution, and CodePush feel like one workflow. Ubriot rebuilds that shape for React Native teams with native builds, store handoff, OTA updates, and release-memory diagnosis.
Good fit for Ubriot
- React Native app with existing App Center or CodePush usage
- Team wants OTA without owning self-hosted CodePush infrastructure
- Builds and store submission are spread across separate tools
- Release failures keep repeating because history lives in chat, logs, or memory
Migration path
Move the release workflow first. Treat OTA migration as part of the system.
Step 1
Map what App Center handled
List whether the app used hosted builds, tester distribution, CodePush, diagnostics, or all of them. Ubriot is strongest where builds, store handoff, OTA, and release memory belong together.
Step 2
Move native builds and store handoff first
Connect the repo, upload signing credentials, and run iOS and Android builds through Ubriot before changing the update path.
Step 3
Move OTA as a release system, not a point replacement
CodePush-compatible migration matters, but the product direction is broader: named channels, runtime boundaries, rollback, and release state.
Step 4
Let release memory start compounding
Each build and failure becomes history that Ubriot can use when diagnosing future releases and OTA risk.
Migrate CodePush in one command
The Ubriot CLI rewrites an existing react-native-code-push setup to Ubriot OTA: it swaps the client, points your update URL at Ubriot, and backs up every file it edits. Dry-run is the default.
# preview the changes
ubriot migrate codepush
# apply, then publish your first update
ubriot migrate codepush --apply --channel production
ubriot update --app <your-app> --channel productionUbriot OTA uses the expo-updates protocol, so migration installs expo-updates (the same client EAS Update uses). This is not a way to drop Expo entirely. The gain is native builds, store submission, and OTA under one flat price, with release-memory diagnosis when a build fails.
Bare React Native is the next bet
Flutter, KMP, and native can wait for demand evidence. App Center and CodePush migration is the near-term route because the React Native moat carries.