# Specvista Technology

> Specvista (Specvista Technology) builds the software, systems and infrastructure that other things run on, including Ubriot.

Source: https://www.specvista.com

Specvista builds the software, systems and infrastructure that other things run on.

## What we do

- **Software**: Products we build, run and stand behind, starting with Ubriot. [Products](https://www.specvista.com/products)
- **Infrastructure**: The build, delivery and release systems our products run on, operated by us. [Technology](https://www.specvista.com/technology)
- **Partnerships**: We partner with organisations to deploy Specvista technology. [Partnerships](https://www.specvista.com/work)

## Built, run and deployed by Specvista

- **Ubriot** (A Specvista product): Build, ship, update and protect iOS and Android apps from one place. Release infrastructure for React Native apps, with verified over-the-air updates, a post-release health watch and one-click rollback. [About Ubriot](https://www.specvista.com/products/ubriot)
- **ServicePilot NG** (Partnership): ServicePilot NG runs home and office services across Lagos on a platform engineered by Specvista. A customer website, a mobile app, an operations console and one API underneath all three, with the app shipped through Ubriot. [The ServicePilot NG platform](https://www.specvista.com/work/servicepilot)

## How Specvista builds

- **Operate what we build**: We run our own products and infrastructure in production. A system is not finished until it can be deployed, watched and rolled back safely, so delivery is first-class engineering for us.
- **Whole systems**: We own every layer we ship, from native code on the device to the servers and pipelines behind it, so nothing important sits in a gap between teams.
- **Build what should exist**: Ubriot began as the tooling we needed to ship our own apps. We build the thing we wished existed, then make it good enough for everyone else.
- **Every release has a way back**: Updates go out on channels, the last artifact we still trust is kept, and an over-the-air update is never served to a binary that was built after it. Rolling back is one click, not a weekend.
- **Checked before and after every deploy**: Each of our sites has a smoke test that runs against the real address before a change ships and again once it is live. If either run fails, the change stops there.
- **Tools that do not depend on one person**: Credentials, alerts and runbooks belong to the team account, not to someone's laptop. In Ubriot, Apple signing credentials are stored once for a team and cover every app on it.

## Recoverable by design

The systems under [Ubriot](https://ubriot.dev) are built so that every release can be checked, watched and undone.

- **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.
