BuildingNative iOS and native Android OTA — join the early-access list
Private beta

Ship app updates instantly.
Skip the App Store.

Over-the-air code push for Flutter and React Native — push code and UI changes to installed devices in seconds, with no rebuild and no store review. Native iOS and native Android are in active development.

›_birdify — Flutter
$ birdify flutter create shop_app
  linked · shop_app on birdify cloud
$ birdify release
  → bundling ▓▓▓▓▓▓▓▓░░ 4.2 MB
$ birdify patch
✓ patch #3 live · 1,240 devices on next launch
$curl -fsSL https://birdify.dev/install.sh | sh

One CLI, one workflow — shipping on Flutter and React Native today

FlutterReact NativeNative iOSsoonNative Androidsoon
See what's shipping next

From week-long reviews to shipping in seconds.

Stop letting store review gate your releases. Birdify moves code and UI updates over the air, so you fix and iterate at the speed you build.

Before

  • Submit a build and wait days for App Store review
  • A one-line hotfix means a full resubmit
  • Users stay stuck on the old version for weeks
  • Staged rollouts and reverts are manual and slow

After

  • Run birdify patch — changes ship in seconds
  • Fixes apply on the next launch, no rebuild
  • Roll back a bad update instantly, fleet-wide
  • Every bundle is signed, verified, and fail-open
Get started

Set it up your way.

Wire it up by hand in a few minutes, or paste one line into your coding agent and let it do the whole thing.

Do it yourself

  1. 1Install the CLI and sign in from your terminal.
  2. 2Scaffold or link your app: birdify <framework> create.
  3. 3Cut a release, then birdify patch to ship over the air.

Let your agent do it

Recommended

Paste one line into Claude Code, Cursor, or Copilot — it installs Birdify, scaffolds your app, and wires the release + patch flow for you.

›_agent setup
# Paste into your coding agent
Set up Birdify OTA in this repo: install with curl -fsSL https://birdify.dev/install.sh | sh,
then follow birdify.dev/agent-quickstart to release + patch.
The workflow

The commands that ship your app.

Five commands, one flow: create, release, patch, rollback, status. The same workflow across Flutter and React Native — and the one native iOS and native Android will ship with.

Step 1 of 5

birdify create

Scaffold or link a Flutter or React Native app.

Run it
once per app
Wires
SDK + cloud link
›_birdify create
$ birdify flutter create shop_app
 scaffolded shop_app (iOS + Android)
 Birdify SDK wired · # ready to release
Built for production

Everything you need to ship safely.

Signed bundles, instant rollback, and per-device rollout tracking — the guardrails that make shipping over the air boring, in the best way.

patch #3withheld
patch #2live · restored

Instant rollback, fail-open

Pull a bad update fleet-wide in one command. Any patch that fails to boot auto-reverts to the last good bundle — users never get a broken app.

Sent1,240
Downloaded1,205
Installed1,190

Per-device rollout tracking

Watch every update roll out — sent, downloaded, and installed — right from birdify status. Know exactly how much of your fleet is on the latest bundle.

bundle.sig
sha256 · 9f2c…a71b
verified

Signed & verified bundles

Every bundle is cryptographically signed and checksum-verified on device before it's ever applied. No downloaded native code — App-Store-safe by design.

Flutter React Native Native iOSsoon Native Androidsoon

One workflow, every stack

The same five commands work across Flutter and React Native (Expo & bare) today, and are the same ones native iOS and native Android will ship with. Learn it once.

Supported stacks

Two stacks shipping, two in the build.

Flutter and React Native ship over the air today, on the same create → release → patch workflow. Native iOS and native Android are in active development — here's exactly where each one stands.

Available · private beta

Flutter

iOS + Android

Ship Dart changes over the air on iOS and Android. Birdify diffs the compiled bundle and reconstructs it on device — hotfixes and UI tweaks land on the next launch.

See the docs
Available · private beta

React Native

iOS + Android · Expo & bare

Push whole JS bundles to Expo and bare apps — architecture-independent, self-hostable, and CodePush-style. Swap the bundle on next launch with device tracking built in.

See the docs
In development · early access

Native iOS

iOS · SwiftUI

Write plain SwiftUI. Birdify transpiles the whole app into a Server-Driven-UI bundle that renders as real SwiftUI, so UI and logic changes ship without a store release.

See the roadmap
In development

Native Android

Android · Kotlin & Java

The same whole-app OTA model for Kotlin and Java apps — Jetpack Compose and View-based UI shipped as data, no Play Store round-trip for code and UI changes.

See the roadmap
FAQs

Frequently asked questions.

Everything you need to know about shipping over the air with Birdify.

Is shipping updates outside the App Store allowed?

Yes. Birdify moves interpreted code and UI data — not new native machine code — which is exactly what Apple (Guideline 2.5.2) and Google permit for over-the-air updates. Adding new native code or SDKs still needs a normal store release.

How do rollbacks work?

Run birdify rollback to withhold a bad update — devices revert to the last good bundle on their next launch. It's also fail-open: any patch that fails to boot auto-reverts, so a broken update can never brick the app.

What can't ship as a patch?

Anything that adds new native code — a new SDK, a new Swift/Kotlin dependency, or new permissions — needs a fresh store release. Code, logic, and UI changes ship as patches.

When do native iOS and native Android land?

Native iOS is further along — the transpiler, SDUI runtime, and logic VM work end to end in the simulator, and early access opens once the full OTA loop is hardened. Native Android reuses that same transpiler and schema, and Android's runtime rules are more permissive than iOS's. Join the early-access list on the roadmap page and we'll tell you when each opens.

Is Birdify available now?

Birdify is in private beta for Flutter and React Native. Install the CLI to explore, and request beta access to get an account provisioned for shipping to real devices.

Which frameworks does Birdify support today?

Two are shipping: Flutter (iOS + Android) and React Native (both Expo and bare apps), on the same create → release → patch workflow. Native iOS (SwiftUI) and native Android (Kotlin/Java) are in active development — see the roadmap for where each one stands.

Is it secure?

Every bundle is cryptographically signed and checksum-verified on device before it's applied. No downloaded native machine code ever runs, which is what keeps it App-Store-safe.

How will native iOS OTA work without native code?

You write plain SwiftUI. Birdify transpiles the whole app into a Server-Driven-UI bundle that renders as real SwiftUI on device, with logic running in an in-app JavaScriptCore VM — Apple's blessed interpreter. The transpiler and runtime are built and rendering; we're hardening the full release → patch → rollback loop before opening it up.

How do I track a rollout?

birdify status shows per-device counts — sent, downloaded, and installed — so you always know how much of your fleet is on the latest bundle. Stage rollouts and pause anytime.

Ship updates your users get instantly.

Install the CLI and start shipping over the air on Flutter and React Native. No rebuilds, no store review, no waiting.

$curl -fsSL https://birdify.dev/install.sh | sh
Want a hosted account in the private beta?