Replit to iPhone app
Turn your Replit app into a real iPhone app
Made a web app with Replit's Agent? Borel turns it into a native iPhone app in Swift. Give Borel your .replit.app address, and it reads the app, photographs it and builds the iPhone version with SwiftUI's own screens. You tap through it on a real iOS Simulator in your browser and publish to the App Store without starting a second project in React Native.
Updated




Native apps built by Borel, in the iOS Simulator.
Replit
What does Replit make?
Replit is a development environment in the browser with an AI Agent that writes apps and websites, and the hosting to run them. A published web app gets an address ending in .replit.app.
For data, Replit hands your app a managed Postgres database from Neon, so the tables behind your screens live on Replit's side.
The iPhone question
Replit makes mobile apps too. Why isn't mine one?
Replit's mobile apps are a different kind of project: the Agent builds them with Expo, and you preview them on your phone inside Expo Go. A web app you already published stays a web app. Getting a phone version out of Replit means describing the app again as a new mobile project.
That route ends in App Store Connect too, with TestFlight review and your Apple Developer membership. Since the screens get built again either way, it's worth picking the language: Borel builds in Swift and SwiftUI, Apple's own, rather than JavaScript.
Apple's rule
Why a rebuild beats a wrapper
Apple reviews every app before it reaches the App Store, and a website in an app's frame is what its guideline 4.2 is about.
“Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store.”
Borel never wraps your Replit app. It writes a separate app in Swift with SwiftUI, Apple’s own language and interface framework, so the screens, scrolling and controls are the iPhone’s.
Step by step
How to turn your Replit app into an iPhone app
- 1
Find your .replit.app link
Open the published deployment and copy its address, https:// and all. A custom domain on the deployment works as well.
- 2
Start a chat on Borel
Send the prompt below. If the Agent built screens that need a login, take screenshots and attach them; one message holds four.
- 3
Swift, not a second JavaScript app
Borel photographs your app on a phone-sized and a desktop-sized screen, notes the colours and copy, and writes SwiftUI views for each part.
- 4
See it on a phone in the browser
Apple's iOS Simulator runs the build on Borel's Mac and streams it to you free of charge. Borel Companion, on Pro, copies it onto your iPhone.
- 5
Hand it to Apple
Upgrade to Pro, connect your Apple Developer account, and Borel signs the app and uploads it to App Store Connect for TestFlight or review.
Your first message
A prompt to start from
Put your address where it says, fill in the brackets, and send it as your first message.
Turn my Replit web app at <your address> into a native iPhone app. Match its colours, logo and wording, and use a tab bar for the main sections. Keep these features: [list them]. People sign in with email and their [records] are saved in the cloud.
Moving over
What moves over, and what is made new
Borel works from what your app shows, the screenshots you add and the words you write. It doesn't copy code or accounts out of another platform.
| In your Replit app | In the iPhone app |
|---|---|
| Look | Moves over. Colour, type, logo and density, from the deployed app and its pictures. |
| Features | Moves over. Rebuilt from what Borel sees and what you list in the prompt. |
| Wording | Moves over. Read off the live page; longer copy can be pasted in. |
| Postgres tables | Made new. The iPhone app's tables are declared in Borel's cloud. Data in Neon stays where it is. |
| Logins | Made new. Accounts are made again in the app, with email and password. |
| Server code | Made new. Not copied. What the app does is written in Swift, with Borel's cloud behind it. |
| Your Replit deployment | Stays. Still serving its .replit.app address. |
Frequently asked questions
No, it starts from the running app. Borel opens the deployed address, reads and photographs it, and writes the iPhone app in Swift. Your Repl is never touched.
You can. It makes a separate Expo app in JavaScript that you preview inside Expo Go. Borel writes Swift and SwiftUI and shows the actual iPhone app in the iOS Simulator while you build.
If your Replit app has an API that takes a key, yes: after the first build, save the key under Tools › Keys and ask Borel to fetch from it. Otherwise the app uses its own database in Borel's cloud.
Only to publish to the App Store, and that's Apple's $99 a year. Trying the app in the simulator needs no Apple account at all, and Borel Companion, on Pro, installs your own apps with a free Apple ID.
A first build usually takes a few minutes. Then you ask for changes in the chat and watch each one land in the simulator.
Paste your .replit.app link
Get a SwiftUI version of your Replit app running on a live iPhone.