Flexform logoFlexform
Mobile SDK

FlexForm Mobile SDKKMP, Android & iOS Native

Embed FlexForm forms natively in your Android or iOS app with one SDK. Server-driven UI means you can add, update, or remove form fields without pushing an app store release.

Kotlin Multiplatform
Android + iOS

Everything your app needs for forms

One SDK that handles rendering, validation, logic, and submission on every platform

One SDK, Three Platforms

Single Kotlin codebase renders natively on Android (Compose), iOS (UIKit/SwiftUI), and Kotlin Multiplatform apps.

Server-Driven UI

Form fields are defined on the server. Update questions, add fields, or change logic without touching app code or waiting for store approval.

Offline Drafts

Users can fill forms without connectivity. Drafts persist locally with Room database (Android) and bundled SQLite (iOS) and sync when back online.

Conditional Logic

Skip pages, show/hide fields, and branch to different form paths based on previous answers — all defined server-side, evaluated client-side.

Full Theming

Override colors, typography, and spacing to match your app's design system. Dark mode supported natively.

44 Element Types

Short answer, multiple choice, file upload, signature, date picker, rating scale, location map, and 37 more — all rendered natively with no WebView.

Quick start

Two calls. Any Composable. Any platform.

// 1. Initialize once (Application class or app startup)
FlexFormSDK.init(platformContext)

// 2. Render a form in any Composable
@Composable
fun MyScreen() {
    FlexFormView(
        formId = "your-form-id",
        config = FlexFormConfig(autoSaveDraft = true),
        onEvent = { event ->
            when (event) {
                is FlexFormEvent.Submitted -> { /* handle submission */ }
                is FlexFormEvent.Error    -> { /* handle error */ }
                else -> {}
            }
        }
    )
}

Mobile SDK FAQs

Common questions about embedding FlexForm in Android and iOS apps

What platforms does the FlexForm SDK support?

The FlexForm SDK supports Android (Jetpack Compose, minSdk 28), iOS (SwiftUI/UIKit via UIViewController, iOS 14+), and Kotlin Multiplatform projects. A single KMP dependency covers all three platforms from one shared codebase.

Do I need to release a new app version to update a form?

No. FlexForm uses a server-driven UI model — form fields, logic, and validation are defined on the server and fetched at runtime. You can add fields, change questions, update conditional logic, or reorder pages without touching app code or submitting to the App Store or Play Store.

What element types are supported in the mobile SDK?

The SDK supports 44 element types including short answer, long answer, email, multiple choice, dropdown, checkbox, rating scale, date picker, time picker, file upload, image upload, signature capture, location map, phone input, and display elements like headings, paragraphs, and banners.

How does offline support work?

The SDK uses Room database (Android) or bundled SQLite (iOS) to persist form drafts locally. Users can fill forms without connectivity and their progress is saved automatically. When connectivity is restored, drafts can be resumed and submitted.

How do I customize the form's appearance?

Pass a FlexFormTheme override in FlexFormConfig to control primary color, background, text colors, typography, spacing, and button styles. The SDK supports dark mode and integrates with your app's Material3 theme baseline on Android.

Where can I get the SDK?

The Android AAR is available via Maven Central. The iOS XCFramework is available via Swift Package Manager and CocoaPods. Contact hi@flexform.ai for beta access credentials.

Ready to Embed Forms in Your App?

Add FlexForm to your Android or iOS app in minutes. Server-driven forms that update without app store releases.