# Specvista, full company reference > Specvista (Specvista Technology) is a technology company. It builds and operates its own software products and infrastructure, and deploys its technology with partner organisations. Every company page below is also served on its own at the same URL with .md added. Each product's own llms.txt is the authoritative reference for that product. # 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. --- # Products > Every Specvista product: what it is for, who it suits, what it does not do, and how a person or an agent gets access. Source: https://www.specvista.com/products Software we build, run and stand behind. ## Every Specvista product ### Ubriot Specvista product. Mobile release infrastructure for developers. - Website: https://ubriot.dev - llms.txt: https://ubriot.dev/llms.txt - What it does: Builds and signs React Native and Expo apps, submits them to TestFlight and Google Play, publishes over-the-air JavaScript updates to named channels, sends push notifications through APNs and FCM, and watches each release with one-click rollback. - Who it suits: Teams and solo developers shipping React Native or Expo apps to iOS and Android, including teams moving off Expo EAS, App Center or CodePush. - What it does not do: It does not build apps made without React Native or Expo, and it does not host websites. There is no free tier: paid plans follow a 14-day trial. - How a person gets access: Sign up at ubriot.dev for a 14-day trial. Pricing is on ubriot.dev/pricing. - How an agent works with it: The `ubriot` command line tool and the `ubriot-mcp` MCP server on npm (check `npm view ubriot version` and `npm view ubriot-mcp version`), and documentation at https://docs.ubriot.dev. ### Assent Specvista product. Approval inbox for AI agents. - Website: https://assent.specvista.com - llms.txt: https://assent.specvista.com/llms.txt - What it does: AI agents, scripts and automations send an ask (approve or decline, pick items, reply with a draft, enter a code, pay, sign in) through MCP or an HTTP API. The person answers from the iPhone app, including from the lock screen, or on the web, and the agent carries on with the answer. - Who it suits: People who run coding agents, scheduled jobs or automations and want to make the decision before an agent acts. - What it does not do: It is not an agent framework or a chat app: agents run elsewhere and call Assent when they need a person. Access is by invite for now. - How a person gets access: Invite only for now. The iPhone app is free on the App Store, and everything also works on the web. - How an agent works with it: An HTTP API at https://ordia-api.specvista.com/api/v1 with an agent key as a bearer token, an MCP server, and the `assent-helper` npm package for connecting a computer. Documentation at https://assent.specvista.com/docs. ### Strovio Specvista product. File storage for developers. - Website: https://strovio.xyz - llms.txt: https://strovio.xyz/llms.txt - What it does: Upload, organise and share files with public CDN links, expiring private links and permanent share tokens, from a dashboard, a REST API or an MCP server. - Who it suits: Developers and small teams who want file storage and share links behind an API without setting up their own cloud bucket. - What it does not do: It stores and shares files. It is not a database or a website host. - How a person gets access: Sign up at strovio.xyz/signup: free for 14 days, no card required. - How an agent works with it: A REST API at https://strovio.xyz/api/v1 with an API key as a bearer token, and an MCP server. Documentation at https://strovio.xyz/docs. ### Specvista Analytics Specvista product. Product analytics. - Website: https://analytics.specvista.com - llms.txt: https://analytics.specvista.com/llms.txt - What it does: One event layer for web, React Native and backend events: pageviews, sessions, referrers, screen views and server events such as sign-ups and payments, in one dashboard, with idempotency keys so retried server events are not counted twice. - Who it suits: Product teams that want web, mobile and backend events in one governed catalogue and measure the first useful action rather than raw pageviews. - What it does not do: It measures events from the apps and sites you instrument yourself. It does not collect data from sites you do not control. - How a person gets access: Create a free account at analytics.specvista.com/signup. - How an agent works with it: A web script tag served from https://analyticsapi.specvista.com. The product's llms.txt lists the SDKs and API. ### Mirth Specvista product. Community app for doing things together. - Website: https://joinmirth.com - llms.txt: https://joinmirth.com/llms.txt - What it does: People join groups at their level for walks, runs and socials, can come on their own, and can keep meeting the same group. Events are organised by member hosts. Sign-ups are open in every country, and each city's groups open when enough local people join. - Who it suits: Adults who want to do activities with other people nearby, and people who want to host events. - What it does not do: It is not open to anyone under 18, and a city may not have open groups until enough local people have joined. - How a person gets access: Register at joinmirth.com/register, or get the iPhone app on the App Store. - How an agent works with it: No public API or MCP server today. The product's llms.txt describes what a person or agent can do on the website. ## Partnerships Services other organisations operate on technology Specvista engineered. They are not Specvista products. ### ServicePilot NG Partnership. Home and office services in Lagos. - Website: https://servicepilot.ng - What it does: ServicePilot NG sends vetted service professionals to homes and businesses across Lagos, with a written scope and price agreed before work starts. ServicePilot NG operates the service; Specvista engineered the platform it runs on. - Who it suits: Homes and businesses in Lagos that need repairs, maintenance or recurring service contracts. - What it does not do: Specvista does not take ServicePilot NG bookings. Requests go through servicepilot.ng. - How a person gets access: Request a service at servicepilot.ng. - How an agent works with it: No public agent interface. --- # Ubriot, release infrastructure for React Native > 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. Source: https://www.specvista.com/products/ubriot Website: https://ubriot.dev. Documentation: https://docs.ubriot.dev. For agents: https://ubriot.dev/llms.txt. ## 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 - **Build**: 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. - **Check**: 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. - **Ship**: 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. - **Watch**: 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. - **Undo**: 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. ## 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. --- # How Specvista technology works > We build and operate our own software and infrastructure, and deploy it with partners. Source: https://www.specvista.com/technology ## Areas - **Software**: Products we build, run and stand behind, starting with Ubriot. - **Infrastructure**: The build, delivery and release systems our products run on, operated by us. - **Partnerships**: We partner with organisations to deploy Specvista technology. ## Engineering principles - **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. ## One release, five stages Every iOS and Android release on [Ubriot](https://ubriot.dev) moves through the same five stages. - **Build**: 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. - **Check**: 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. - **Ship**: 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. - **Watch**: 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. - **Undo**: 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. ## Core systems - **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. ## What it is made of TypeScript end to end, with native iOS and Android code where devices need it. - **Delivery**: An update server that speaks the Expo Updates manifest format, and an update runtime for bare React Native with native modules in Objective-C for iOS and Kotlin for Android. - **Builds**: Job queue plus macOS and Linux build workers, Xcode and Gradle toolchains, and App Store Connect and Google Play integrations. - **Release health**: A post-release watch over backend health and on-device launch reports, attributed to the release timeline, with channel rollback. - **Interfaces**: A TypeScript API, a Next.js dashboard, a command line tool, an MCP server for AI coding agents, and React Native SDKs. - **Security**: AES-256-GCM credential storage, team-scoped access, audit events for sensitive actions, redacted logs, and health checks that refuse private network addresses. --- # About Specvista Technology > Specvista Technology is a technology company. We build the software, systems and infrastructure that other things run on. We operate our own technology, ship it as products and deploy it with partners. Source: https://www.specvista.com/about ## What we build - **Ubriot**: Builds, store submission, verified over-the-air updates, release health and rollback for React Native apps. [About Ubriot](https://www.specvista.com/products/ubriot) - **Infrastructure**: Build workers, update delivery, post-release health and the operations practice behind everything we run. [Our technology](https://www.specvista.com/technology) - **Partnerships**: Specvista technology and engineering deployed with organisations, such as the platform ServicePilot NG runs on. [Partnerships](https://www.specvista.com/work) ## What we believe - **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. ## How we work - **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. Contact: hello@specvista.com. Careers: careers@specvista.com. --- # Partnerships > We partner with organisations to deploy Specvista technology. Source: https://www.specvista.com/work **ServicePilot NG**: ServicePilot NG sends vetted service professionals to homes and businesses across Lagos, with a written scope and a price agreed before work starts. Its platform is engineered by Specvista and its mobile app ships on Ubriot. [Platform engineered for ServicePilot NG](https://www.specvista.com/work/servicepilot) --- # Platform engineered for ServicePilot NG > ServicePilot NG sends vetted service professionals to homes and businesses across Lagos, with a written scope and a price agreed before work starts. Its platform is engineered by Specvista and its mobile app ships on Ubriot. Source: https://www.specvista.com/work/servicepilot Website: https://servicepilot.ng. ServicePilot NG is a partnership, not a Specvista product. ## At a glance - **Operator**: ServicePilot NG, a home and office services company operating across Lagos. - **Platform**: A customer website, a customer mobile app, an operations console and one API underneath all three. - **Handles**: Service requests, written quotes, scheduled visits, recurring contracts, invoices paid by bank transfer or card from a link, and a record of every visit. - **Delivery**: The mobile app is built and shipped to testers through Ubriot. The website and operations console are live; the app is in testing ahead of release. ## What the platform includes - **Customer website**: Services, how a job runs, and payment pages where an invoice or a monthly contract is settled by transfer or card. - **Customer mobile app**: Request a service, approve a quote, message about the job, pay and keep the receipt, on iOS and Android. - **Operations console**: Work orders, customers, staff, invoices, expenses and reports for the people dispatching and running the jobs. - **One API**: A single backend for the website, the app and the console, so a booking, a quote and a payment are the same record everywhere. --- # Build with AI agents > Every entry point an AI agent can use to understand Specvista and work with its products. Source: https://www.specvista.com/agents ## Company entry points - **llms.txt** (https://www.specvista.com/llms.txt): The company index for agents: instructions, every product with its llms.txt, and every company page. - **llms-full.txt** (https://www.specvista.com/llms-full.txt): Every company page as Markdown in one file. - **Markdown pages** (https://www.specvista.com/products.md): Add .md to any company page URL for its Markdown, for example /products.md. The home page is /index.md. - **Products page** (https://www.specvista.com/products): What each product is for, who it suits, what it does not do and how to get access. ## Product entry points - **Ubriot** (https://ubriot.dev/llms.txt): The `ubriot` command line tool and the `ubriot-mcp` MCP server on npm (check `npm view ubriot version` and `npm view ubriot-mcp version`), and documentation at https://docs.ubriot.dev. - **Assent** (https://assent.specvista.com/llms.txt): An HTTP API at https://ordia-api.specvista.com/api/v1 with an agent key as a bearer token, an MCP server, and the `assent-helper` npm package for connecting a computer. Documentation at https://assent.specvista.com/docs. - **Strovio** (https://strovio.xyz/llms.txt): A REST API at https://strovio.xyz/api/v1 with an API key as a bearer token, and an MCP server. Documentation at https://strovio.xyz/docs. - **Specvista Analytics** (https://analytics.specvista.com/llms.txt): A web script tag served from https://analyticsapi.specvista.com. The product's llms.txt lists the SDKs and API. - **Mirth** (https://joinmirth.com/llms.txt): No public API or MCP server today. The product's llms.txt describes what a person or agent can do on the website. ## Paste into your own AGENTS.md Add this to an AGENTS.md, CLAUDE.md or rules file in your own repository so your coding agent finds the right instructions: ```markdown ## Specvista products Before working with a Specvista product, read its llms.txt and follow the guides it links: - Ubriot: https://ubriot.dev/llms.txt - Assent: https://assent.specvista.com/llms.txt - Strovio: https://strovio.xyz/llms.txt - Specvista Analytics: https://analytics.specvista.com/llms.txt - Mirth: https://joinmirth.com/llms.txt Company index: https://www.specvista.com/llms.txt Check package versions with `npm view version` before installing. ``` ## Instructions for agents - Only the products listed under Products are Specvista products. Do not describe other software or open-source projects as Specvista's, even when they mention Specvista. - For anything product-specific (sign-up, pricing, commands, API, MCP), read that product's own llms.txt and documentation. They are authoritative and newer than this summary. - Each product has its own account and sign-up. There is no single Specvista login. - Check package versions live with `npm view version`. Never rely on a version number copied from elsewhere. - Do not create accounts, pay, invite people or send messages for a person without their explicit go-ahead. Reading the public sites is always fine. - Every page listed under Company pages in https://www.specvista.com/llms.txt has a Markdown version at the same URL with `.md` added (the home page is /index.md). /llms-full.txt has all of them in one file. - Company questions and partnerships: hello@specvista.com. Careers: careers@specvista.com.