Now with direct App Store & Play upload
Mobilize any web-view app to native iOS & Android in seconds.
Paste a URL. Odumee writes real SwiftUI and Kotlin Compose code, snaps in native bridges for push, payments and biometrics — then ships it straight to the stores.
Try:
9:415G82%
M
Welcome back
My App
Your overview
Good morning.
Total visits this week
12,480
↗ 18.4%
MONTUEWEDTHUFRISATSUN
Native features
A little more magic, built in.
3 active
Push notifications
Your audience stays in the loop
Ready
In-app payments
A native checkout experience
Ready
Face ID
A faster, safer sign in
Ready
Made to feel native
One app. Every device.
Home
Activity
Features
Works with any web stack
LovableNext.jsBoltWebflowFramerShopifyWordPressVercelNetlifyBubbleRemixNuxtLovableNext.jsBoltWebflowFramerShopifyWordPressVercelNetlifyBubbleRemixNuxt
How it works
From URL to store listing — one workflow.
01
Real native code
SwiftUI 6 + WKWebView and Kotlin + Jetpack Compose. Readable, yours to keep, no proprietary runtime.
02
Native Features
Toggle a card — push, payments, biometrics — and get the Swift, Kotlin and JS in one standard API.
03
Direct store upload
Connect App Store Connect & Google Play once. Build in the cloud and ship to TestFlight or a Play track.
Code you own
Swift and Kotlin that a senior engineer would write.
Every toggle regenerates the multi-file project live. Export a zip, open it in Xcode or Android Studio, and it runs.
- Async/await bridge with typed replies
- Edge-to-edge safe areas & splash
- Pull-to-refresh, back gestures, offline fallback
- Fastlane + GitHub Actions included
ios/MyApp/ContentView.swift
1import SwiftUI23struct ContentView: View {4@State private var progress: Double = 05@State private var showingSplash = AppConfig.splash6private let startURL = URL(string: "https://my-app.example.com")!78var body: some View {9ZStack(alignment: .top) {10WebViewContainer(url: startURL, progress: $progress)11.ignoresSafeArea(.container, edges: .bottom)12if progress < 1 {13ProgressView(value: progress).tint(Color(hex: "#0A0A0F"))14}15if showingSplash {16ZStack {17Color(hex: AppConfig.splashColor).ignoresSafeArea()18Text("My App").font(.title).foregroundStyle(.white)19}20.onAppear { DispatchQueue.main.asyncAfter(deadline: .now() + Double(AppConfig.splashMs) / 1000.0) { showingSplash = false } }21}22}23.background(Color(hex: "#0A0A0F"))24}25}
Native Features
Every native feature, one standard call.
await Odumee.call("payments.purchase", id)
Engagement
Push Notifications
APNs + FCM with a single token & payload API
PaymentsPRO
In-App Payments
StoreKit 2 & Play Billing behind one purchase() call
PaymentsPRO
Apple Pay / Google Pay
Wallet sheets for physical goods via Stripe tokens
Security
Biometric Auth
Face ID, Touch ID & fingerprint in one prompt
Security
Secure Storage
Keychain & EncryptedSharedPreferences key/value
Hardware
Haptics
Impact, selection & notification feedback
Hardware
Camera & Files
Photo capture, gallery and document picker
Hardware
Location
Precise and background location updates
Ship, not just download
Publish directly to Apple and Google.
Configure
Bundle ID, icons, bridges
01Generate
Swift + Kotlin projects
02Cloud build
Signed .ipa and .aab
03App Store Connect
TestFlight / review
04Google Play
Internal → production
05