A Specvista product
Ubriot
Release infrastructure for React Native apps, Expo or bare. Ubriot builds, checks, ships, watches and, when it has to, undoes every release of an iOS and Android app.

At a glance
- Platforms
- iOS and Android apps built with React Native, Expo or bare.
- Delivers
- Native builds, TestFlight and Google Play submission, over-the-air updates and push notifications through APNs and FCM.
- Protects
- Pre-submit checks, runtime and ordering checks for updates, a post-release health watch, on-device fallback and one-click rollback.
- Interfaces
- A web dashboard, the ubriot command line tool, an MCP server for AI coding agents, and SDKs for updates and push.
How a release moves through Ubriot
1Build
Signed iOS builds run on macOS workers and Android builds on Linux workers, with the log, artifact and source reference kept together. Teams can run the worker on their own Mac or Linux server.
2Check
Before submission, a scan flags common App Store rejection causes. Before an over-the-air update, Ubriot warns when it targets a runtime few devices are on, or when it would be older than the binary it lands on.
3Ship
Builds go to TestFlight and Google Play from the dashboard or the command line. JavaScript updates are published to named channels such as production and staging, without waiting for app review.
4Watch
For 15 minutes after a release, Ubriot checks the app's backend health and the crash rate that devices report on launch, and alerts the team if either degrades.
5Undo
If a new bundle fails to start, the phone falls back to the last version that worked on its own. A bad release is one click to roll back: the channel is pointed at the previous update group.
Release safety and over-the-air updates


The technology behind it
Updates that verify themselves
Every file in an update is checked against its SHA-256 hash before the update is staged. A missing or mismatched file discards the update and the app keeps running what it has. The on-device update runtime tracks pending, active, verified and last known good bundles on iOS and Android.
Release health tied to the release
Ubriot records which build or update went out and when. A spike in backend errors or crashed launches inside the watch window is attributed to the release that caused it, with the rollback ready.
Build infrastructure
macOS and Linux workers claim jobs from a shared queue. Signing credentials are encrypted with AES-256-GCM and never logged, and sensitive actions such as credential changes and build triggers are written to an audit trail.
Release intelligence
A failed build gets a first diagnosis from its log and the app's own release history, with the raw log still one click away. The same history powers the pre-release warnings.