Skip to main content
FlowPilot is a platform for building, shipping, and A/B testing dynamic onboarding and UX flows in mobile apps, without an app release. You design flows in a web editor, publish them, target them with placements, and a native SDK renders them natively on device. These docs cover the whole platform from a mobile developer’s point of view. Two paths run through them, often for the same person: building flows in the dashboard and Flow Editor, and wiring a FlowPilot SDK into an app. FlowPilot ships two SDKs: a native iOS Swift SDK and an Expo / React Native SDK. Pick the one that matches your app.

Choose your path

Understand the platform

See how a flow travels from the editor to a device, and how the pieces fit together.

Build your first flow

Open the Flow Editor, add a screen, and design your first flow.

Integrate the iOS SDK

Add the Swift package, configure it at launch, and present a placement in a native iOS app.

Integrate the Expo SDK

Add the React Native package, configure it at launch, and present a placement in an Expo app.
In a hurry? The Quickstart takes you from nothing to a flow rendering on a device in about 15 minutes, with code for both SDKs.

The two SDKs

FlowPilot ships two SDKs, and these docs cover both:
  • iOS SDK (Swift / SwiftUI) for native iOS apps.
  • Expo SDK (@flowpilotjs/react-native-sdk, TypeScript) for React Native apps built with Expo.
Both render the same flow JSON natively (no web view) and aim for parity, so a flow built once in the dashboard renders the same on both. Everything that is cross-platform (the flow schema, the dashboard, the Flow Editor, placements, and experiments) applies no matter which SDK renders the flow. Where the SDKs genuinely differ, each SDK tab documents its own behavior.