Skip to content
ME
All work
Tools & infrastructure· 2026

OTA Update Server

Self-hosted over-the-air updates for many mobile apps, without a paid service.

Role
Design & engineering
Platforms
Server · Command-line tool
Status
In use
OTA Update Server logo

Overview

Ship fixes and new features to mobile apps instantly, without waiting for App Store or Google Play review. Apps check my own server for updates instead of a paid service, and one server handles many apps.

Mobile apps normally need a new store release for every change. With over-the-air updates, the app's code is downloaded the next time it opens, so a bug fix can reach every user within minutes.

Hosted services charge for this. I built a self-hosted server that standard apps can use with no changes to their code.

Under the hood

The features that took real engineering

  1. 01

    Works with standard apps out of the box

    The server follows Expo's official update specification, so apps use their normal update client and simply point it at this server. It can tell an app there's a new version, that it's already up to date, or that it should fall back to the version built into the app.

  2. 02

    Safe rollbacks

    If an update causes problems, one command sends every app back to the previous version, or to the original version shipped in the store.

  3. 03

    Signed updates

    Each app can verify that an update really came from its publisher before installing it, so nobody can push code in someone else's name.

  4. 04

    Channels and many apps

    One server hosts many apps, each with its own channels such as testing and production. An update can be tried on testing first, then promoted to everyone.

  5. 05

    One command to release

    A command-line tool builds, uploads and publishes an update, and also manages apps, channels and signing keys.

  6. 06

    Storage that scales

    Files are stored once in cloud storage and sent either through the server or straight from storage, keeping the server fast and bandwidth low.