Feature management for Expo & React Native

Ship the code.
Choose the moment.

Give a new feature to your team, then your first users, then everyone. Gates puts you in control of what goes live in your Expo app.

14 days of Pro. No credit card required.

Every release, in viewGates / Releases
The Releases screen in the Gates dashboard: every app version grouped with its store builds and OTA updates, how many installations are active on each, and the flags each one ships.
Store builds. Over-the-air updates. The features inside them.Actual Gates dashboard

Built around the way
your app ships.

ExpoReact NativeiOSAndroid

A release can start
with a few people.

Put your new checkout behind a flag. Try it with a small group, then widen the rollout when you’re ready.

Interactive example

Meet your next checkout.

Move the slider to give more people access. The people already included stay included.

25%
No oneEveryone

Illustrative cohort of 100 people. In your app, changes take effect on the next sync.

New checkoutOriginal checkout

From your code
to your first rollout.

  1. Connect your app.Install the SDK and add GatesProvider with your environment key.
  2. Wrap the new experience.Read a flag to choose which version of the feature to show.
  3. Choose who gets it.Set your audience and percentage in Gates. Adjust without shipping another build.
Follow the setup guide
Checkout.tsx
import { useFlag } from "@gates/expo";

function Checkout() {
  const oneTap = useFlag("checkout-v2");

  return oneTap
    ? <OneTapCheckout />
    : <ClassicCheckout />;
}

Made for life
on a phone.

Different builds. Unreliable connections. Users who haven’t updated. Your release tools should understand all three.

Your app opens. Even offline.

Flags read from the configuration saved on the device. Until it loads, your fallback decides what to show. A slow connection never holds up rendering.

How offline works

The right feature. The right build.

Target iOS or Android, an app version, a runtime, or an individual Expo update. Keep new features on the versions that can run them.

Explore targeting

Turn a feature off.
Keep the app running.

A new build can wait. Turn off a feature across the versions that already include it. Connected devices pick up the change on their next sync.

The Versions & cohorts drawer for the checkout-v2 kill switch in the Gates dashboard: which store builds and OTA updates ship the flag, how many active installations each has, and whether it was seen on them.

See what you’ll reach.

Check which store builds and Expo updates have evaluated a flag before you disable it.

Keep a fallback ready.

Show an alternative experience when a feature is off. Offline devices keep their last saved configuration.

Understand kill switches

Start with
the right people.

Your internal team. Beta testers. Customers on a paid plan. Build an audience from the traits you already know, then use it in your release rules.

A signed-in person gets the same rollout assignment across their devices.

Meet People & audiences
The Audiences screen in the Gates dashboard: named segments such as iOS 2.4+ and Pro users, each with its rule and the number of matched users.

Start small.
Bring the whole team.

Unlimited seats on every plan. Pricing grows with the devices using your app. Compare plans and usage

All prices in USD. All plans include unlimited seats.

Free

For your first app and its first users.

$0/ month

Free, with no time limit.

Start free
  • 1 project with three environments
  • 5 total flags, kill switches and audiences
  • 1K active installations / month
  • 7 days telemetry retention
  • Unlimited seats
  • Kill switches and rollouts
  • People and audiences

Scale

For apps with a larger active install base.

$199/ month

Billed monthly. Or $159/mo billed yearly.

Start 14-day trial
  • Unlimited projects and flags
  • 250K active installations / month
  • +250K for $100 / month beyond that
  • 1 year telemetry retention
  • Everything in Pro
  • 10× the included installations
  • 1 year of release telemetry

A few things to know.

Does my app wait on Gates before rendering?

No. The provider renders its children immediately. Until the local snapshot has been read, every flag returns the fallback you gave it; after that, reads come from storage. The network is only used to fetch a newer snapshot in the background.

What happens when a phone is offline, or the API is down?

The app keeps using the last configuration saved on the device. If a sync fails, that configuration stays in place. On a first launch with no saved configuration, flags use the fallbacks in your code.

Is it safe to ship the key inside the app?

Yes. The environment key can read configuration and send heartbeats and exposure events. It cannot create, edit or delete flags, change rollouts or read anything else. Changing configuration requires dashboard sign-in.

Does Gates run A/B tests with statistics?

No. Flags are boolean, so an <Experiment> has exactly two arms and the rollout percentage sets the split. Gates records exposure and adoption so you can see what a flag reached, and leaves significance to your analytics tool.

What does it cost?

Start with 14 days of Pro, then stay on Free or choose a paid plan. Pro is $49/month and Scale is $199/month, or $39 and $159 per month when billed yearly. Paid plans include an installation allowance, with additional usage billed in blocks. Seats are unlimited on every plan.

Which platforms are supported?

Gates supports Expo and React Native apps on iOS and Android through @gates/expo. The SDK integrates with Expo’s app and update information for targeting.

Put your next feature
behind a flag.

Start with one flag. Get your team using it. Decide when everyone else should, too.