Skip to main content
A Rork project isn’t locked to one platform. One project can contain a native iOS app (Swift), a native Android app (Kotlin), and a web app. Each app has its own code. They can share one chat and one backend. That makes “convert my app to another platform” a feature, not a rewrite from scratch.

Convert an Android app to iOS (with AI)

Have an Android app (in Rork, or imported from a repository) and want it on iPhone?
  1. If the app isn’t in Rork yet, import its repository first, Kotlin/Java source included. The agent reads it even though the new iOS app will be Swift.
  2. In the project, ask in chat:
  1. Confirm the “Add iOS app?” widget. The agent rebuilds the screens with native iOS UI, reusing the same backend, data model, and business rules.
  2. Preview it in the iOS cloud simulator, then publish to the App Store.

iOS app → native Android app

The mirror path. In your iOS project, click + (Add preview platform) → Android (Kotlin), or ask in chat:
The add platform menu: Android (Kotlin) and Web
Rork builds a native Kotlin app in the same project. Publishing: create the AAB for Google Play.

React Native / Expo codebase → native app

Already have a React Native or Expo codebase (from Bolt, a contractor, or your own work)? Rork rebuilds it as native code.
  1. Push it to GitHub if it isn’t there already.
  2. Import it: GitHub to Mobile App on rork.com → paste the repo URL → Generate app now.
The GitHub import dialog
The agent reads your JavaScript or TypeScript source, then rebuilds the screens, navigation, data flows, and design as a native iPhone app (Swift), a native Android app (Kotlin), or a web app, whichever you pick. Your product stays the same. The UI code becomes Swift, Kotlin, or React. From there, publishing runs through Rork: the built-in Publish flow handles the build and the App Store or Google Play submission, so there is nothing to configure yourself.
Not sure which platform to pick? See iPhone, Android, or web: what’s the difference.

Mobile app → web app

Any mobile project can grow a web version: Project Settings → Add new app → Web, or ask:
The web app publishes to a your-app.rork.app URL from the Publish menu (you can attach a custom domain later). Great for landing pages, admin panels, or a desktop companion.

Every combination at a glance

“Add platform / chat” = click + in the project header, use Project Settings → Add new app, or just ask the agent.

Per-app settings

Each app in the project has its own icon, home screen name, and bundle identifier / package name. Configure them in Project Settings before publishing:
Per-app settings: icon, name, bundle identifier

Publishing each platform

The Publish to App Store wizard in Rork
Every submission (and its TestFlight link) is tracked in the project’s Publish dialog:
App Store submission history with TestFlight links

FAQ

Is the conversion a literal code translation?

No, and that’s a good thing. The agent rebuilds the UI with each platform’s native components while keeping your product identical: same screens, same flows, same data. You get apps that feel right on each platform instead of a lowest-common-denominator port.

Do the platforms stay in sync afterwards?

They share the project, the backend, and the chat. When you ask for a feature, tell the agent which apps it applies to (“add dark mode to both iOS and Android”) and it updates each native codebase.

Can I have different features per platform?

Yes. It’s common to keep the field-crew features mobile-only and add an admin dashboard as the web app.