HealkiteDocs

Healkite

Over-the-air updates for React Native that roll out by themselves and roll back when something breaks.

Healkite sends JavaScript and asset fixes straight to your users' phones, without an App Store or Play Store review. Every update is signed, downloaded as a small diff, tried on the next launch and kept only if the app starts cleanly. Releases go out to 1% of devices first and widen on their own while crash and business metrics stay healthy.

What you get

Crash-safe installsEach update gets a trial launch. If the app never reports ready, the device rolls back by itself.
Guarded rollouts1% → 10% → 50% → 100% automatically when healthy; halts and rolls back on crashes or a drop in your own metrics.
Small downloadsBinary diffs of Hermes bytecode, typically 80–99% smaller than full bundles.
Signed end to endYou sign bundles, the server signs manifests. A compromised CDN can't push code or downgrade users.
RecoveryOne-click rollback, and a kill switch that shows a maintenance screen without a release.
Previews and experimentsPR previews inside the store build, A/B experiments with confidence intervals.
Instant hotfixOptional silent push so open apps update within seconds.
AutomationCLI, GitHub Action, REST API and an MCP server for Claude, Cursor and VS Code.
CodePush compatibleSame JavaScript API and CLI verbs: migrate by changing an import.

How it works

text
healkite release ──► API ──► storage (R2 / S3 / disk) ──► CDN
  bundle · Hermes      apps · channels · guards       bundles, patches, signed manifests
  diff · sign                                                   │
                                                                ▼
Device: fetch manifest → verify server signature → in rollout? → verify bundle signature
  → download patch (or full) → check sha256 → trial launch → notifyAppReady → keep
  (crash before ready → automatic rollback) · one telemetry batch per launch

Update checks read a static, cached manifest, so opening your app never waits on a database.

Concepts

  • App: one per product, covering both iOS and Android.
  • Channel: a stream of releases such as production or staging. Your build carries a channel key.
  • Runtime version: the native build a bundle is compatible with. Defaults to your app version (1.4.0); releases only reach builds with the same runtime version.
  • Release: one bundle on one channel, platform and runtime version, labelled v1, v2, …

Next: Quick start.