Ship Mobile Features Instantly — Nativeblocks SDUI Platform
Nativeblocks<br>Blog<br>Docs<br>Pricing
Dashboard⌘K
⌘K
How it works<br>From your terminal to every user's phone, in three steps.
Integrate the SDK<br>Add Nativeblocks to your project and import your existing components.
AndroidiOS
// Initialize SDK<br>NativeblocksManager.initialize(<br>applicationContext = this,<br>edition = NativeblocksEdition.Cloud(<br>endpoint = NATIVEBLOCKS_API_URL,<br>apiKey = NATIVEBLOCKS_API_KEY<br>))<br>// Import your component<br>@NativeBlock(<br>name = "My Button",<br>keyType = "MY_BUTTON"<br>@Composable<br>fun MyButton(...) { }
Build with the DSL<br>Write screens using the Nativeblocks DSL in Kotlin, Swift, or TypeScript.
KotlinSwiftTypeScript
val title: STRING = remember("Hello")<br>androidFrame(route = "/welcome")<br>.variables(title)<br>.rootBlock {<br>nativeblocksColumn(key = "root")<br>.content {<br>nativeblocksText(key = "heading")<br>.setTextData(title)<br>myButton(key = "cta")<br>.onClick { navigate("/home") }
Deploy and see it live<br>Push to production with one command. Users get it on next app open.
terminal<br>❯ nativeblocks frame deploy<br>--file welcome<br>--tag v1.2.0<br>Bundling frame...<br>✓ Frame validated<br>✓ Upload complete<br>✓ v1.2.0 live in production
The tools you actually need<br>One SDK, one CLI. Works with your existing Android and iOS codebase.
Nativeblocks SDK
KotlinSwift
// MainActivity.kt<br>NativeblocksManager.initialize(<br>applicationContext = this,<br>edition = NativeblocksEdition.Cloud(<br>endpoint = NATIVEBLOCKS_API_URL,<br>apiKey = NATIVEBLOCKS_API_KEY<br>// Render a frame<br>NativeblocksFrame(route = "/")
Kotlin, Swift & TypeScript<br>Drop the SDK into your existing project. No new language, no architecture changes.
Under 1 MB<br>Jetpack Compose & SwiftUI<br>Works with your existing components<br>Hot-reload in development
Set up in minutes<br>From zero to a running frame in four steps.
1Add the SDK dependency to your project
2nativeblocks init — auth and project config
3nativeblocks code-gen — generates typed DSL
4Deploy with CLI and you're live
CLI
terminal
❯ nativeblocks init<br>Authenticating...<br>✓ Project configured<br>❯ nativeblocks code-gen<br>Reading integrations...<br>✓ Typed DSL generated<br>❯ nativeblocks frame deploy --tag v1.0.0<br>✓ v1.0.0 registered
Roll back in one click<br>Tag every release. If something breaks, you're one click away from the last good version.
v1.2.0<br>Live<br>v1.1.2<br>Active<br>v1.1.0<br>Active<br>v1.0.0<br>Archived
~10 sec<br>Typical rollout time<br>Updates reach users on next app open. No App Store queue.
A/B Testing<br>Pass user context to the SDK and let the dashboard serve different frames per segment.
KotlinSwift
NativeblocksManager.getInstance()<br>.setGlobalParameters(<br>"language" to "EN",<br>"country" to "US",<br>"appVersionCode" to "45"
Tag distribution<br>See what percentage of your active users are on each tagged release this month.
64%<br>active on v1.2.0
36%<br>active on v1.1.0
Push a fix before users file a ticket<br>Run nativeblocks frame deploy. Users pick up the change on next app open. No store submission, no review queue.<br>No App Store or Play Store submission<br>Target by user, version, or percentage<br>Roll back to any previous release instantly<br>Tag releases for controlled production rollouts<br>Learn about Code Push
See what's going on in production<br>Tag distribution, active users, and release status. Without leaving the dashboard.
Tag distribution<br>See what percentage of your active users are on each tagged release this month.
v1.2.0
64%<br>v1.1.2
23%<br>v1.1.0
9%<br>older
4%<br>64% of active users on v1.2.0 this month
Daily active users<br>Watch engagement as you roll out. Spot drops before they turn into support tickets.
12,847↑ 18% vs last month<br>JanAprJulOctDec
Release management<br>Live status for every tagged release. Roll out, pause, or revert from one place.
v1.2.0<br>Rolling out<br>v1.1.2<br>Active<br>v1.1.0<br>Active<br>v1.0.0<br>Archived
Trusted by innovative teams<br>Companies signed up to use Nativeblocks
TeknasyonSantanderNeonJumbo InteractiveLimeTrayLooopTeknasyonSantanderNeonJumbo InteractiveLimeTrayLooop
Stop waiting for review cycles<br>A UI fix shouldn't take a week to ship. With Nativeblocks, it takes a command.<br>Get started for freeRead the docs<br>No credit card required · Free tier available