How to publish a vibe-coded app to the App Store and Google Play
To publish a vibe-coded app to the App Store and Google Play, first deploy the web app to a stable URL, then use Median to create iOS and Android apps from that URL. Test the app on real devices, add the native features the product needs, prepare store assets, configure signing and permissions, and submit the builds through Apple and Google. Apps built with Lovable, Base44, Replit, Vercel, and Netlify are allowed in the app stores as long as they offer users a real mobile experience rather than a bare website in a frame.
Vibe coding can get you to a working product faster than a traditional app build. That does not make the app-store step disappear. The practical question is how to publish a vibe-coded app once the web version works.
The moment you want an iOS or Android app, the project changes shape. You need a mobile build, native settings, signing, store listings, privacy details, screenshots, and device testing. You also need to make sure the app feels like something a user would install, not a website squeezed into a phone frame.
Median is built for that middle step: your web app already exists, and now it needs to become a mobile app people can install. This is the web to app move, sometimes called website to app conversion, and it is the same move whether the source is Lovable, Base44, Replit, Vercel, Netlify, or Cloudflare VibeSDK.
Turn your web app URL into a mobile app build
The app-store path starts with a stable web app URL
Lovable, Base44, Replit, Vercel, Netlify, and similar tools usually produce a web app. That web app needs a stable URL before it should become the source for a production mobile app.
For testing, a temporary URL can be fine. For launch, use the cleanest production URL you can.
That matters because the mobile app will depend on the web app:
Login pages load from that URL.
Account flows depend on that URL.
Deep links may point to that URL.
Support and privacy pages may live on that URL.
Store reviewers see that URL's content inside the app experience.
If the URL looks temporary, broken, or unrelated to the product, the mobile app will feel unfinished before the reviewer even reaches the main feature.
A wrapper is not enough for store submission
The fastest path from web app to mobile app is not the same as the safest path to store approval.
A basic wrapper can open your web app. A launch-ready mobile app needs more:
App icon and launch screen.
Native navigation decisions.
Correct permissions.
Privacy policy and support URL.
Store screenshots that show real app screens.
A test account if login is required.
Push notification setup if notifications matter.
App signing and package identifiers.
A clear reason the app belongs in the stores.
This is where many vibe-coded projects stall. The web app is real, but the mobile packaging and review details are still missing. Apple in particular rejects apps that add nothing beyond the website, which is why the native layer, from push notifications to native navigation, is part of passing review rather than decoration on top of it.
Platform notes: Lovable, Base44, Replit, Vercel, and Netlify
Lovable apps
Lovable is strong for getting a web app built quickly. The searches tell the story: Lovable to App Store, Lovable to APK, can Lovable make mobile apps. It cannot make the mobile app by itself, and it does not need to. Treat Lovable as the source app and Median as the mobile app layer.
Before publishing, test login, Supabase-connected flows, payments, mobile layout, and any feature that relies on browser APIs. The full walkthrough is in the Lovable to iOS and Android guide.
Base44 apps
Base44 projects often reach the "can I put this in the app stores?" stage quickly. Search data shows people looking for Base44 to APK, Base44 to iOS, and Base44 to App Store.
Use APK testing to check Android behavior, but do not confuse that with Google Play readiness. For iOS, plan for Apple signing, device testing, and App Store Connect. The Base44 guide covers the full path.
Replit apps
Replit is flexible, but the deployed app needs to be stable. If the app depends on a development URL, a temporary environment, or a server process that sleeps at the wrong time, fix that before building the mobile app.
For store review, make sure the app opens reliably and has a clear support path. See the Replit conversion guide for the step-by-step version.
Vercel and Netlify apps
Vercel and Netlify are often production-grade hosting choices, but many projects start on temporary subdomains. Use a custom production domain where possible before submitting to stores. The mobile app should point at the version of the product you actually want users and reviewers to see.
There are dedicated guides for Vercel apps and Netlify apps, and the same pattern applies to Cloudflare VibeSDK apps.
What to test before you submit
Do a real device pass before store submission.
Test:
First launch after install.
Login and account creation.
Main navigation on small screens.
Forms, file uploads, and downloads.
Camera, microphone, location, and notification prompts.
Payment, subscription, or upgrade flows.
External links and deep links.
Offline or poor-network behavior.
Privacy policy and support links.
Store screenshots against the actual app.
If a feature matters to the product, do not rely on a desktop browser preview. Test it inside the installed app. For iOS test installs, the IPA install guide covers signing, provisioning, and getting a build onto a real iPhone.
Selling subscriptions changes the checklist
If your vibe-coded app charges for anything digital, Apple and Google require their own billing systems. A web checkout is not enough inside the stores.
RevenueCat is Median's recommended path for vibe-coded apps, and adding it affects your build and your store console setup. The RevenueCat subscriptions guide walks through the setup, the entitlement model, and why your app needs a rebuild after monetization is added.
How to publish a vibe-coded app with Median
Median takes the deployed web app URL and creates a native app for iOS and Android. From there, you configure the mobile app, preview it, test it on real devices, and prepare the app-store builds. Publishing itself follows Apple's and Google's normal processes, and the App Store publishing guide covers the iOS side in detail.
The important part is that Median does not ask you to throw away the web app. Your Lovable, Base44, Replit, Vercel, or Netlify project remains the product source. Median adds the mobile app layer around it: native plugins where the product needs them, one main web codebase everywhere else.
Store-readiness checklist
Before submission, confirm:
The app has a production URL.
The app name and icon are final.
The app has a privacy policy.
The app has a support URL.
Login works on iOS and Android.
Test accounts are ready for review.
Permissions are only requested when needed.
Screenshots show real app screens.
Subscriptions or purchases are configured in the stores.
Push notifications and deep links are tested if used.
You have a plan for updates after approval.
Frequently asked questions
Can I publish a Lovable app to the App Store?
Yes, if the Lovable app is converted into a native iOS app, signed correctly, tested, and submitted with a complete App Store listing. Lovable creates the web app. Median creates the mobile app from the Lovable URL.
Can I turn a Base44 app into an APK?
Yes. An APK is useful for Android testing. Google Play publishing requires a store-ready Android App Bundle and Play Console setup on top of that.
Can Replit publish directly to Google Play?
Replit can host the web app. Google Play needs an Android app build, signing, package details, store assets, privacy declarations, and review submission. Median produces that build from the deployed Replit URL.
Should I use a Vercel or Netlify subdomain for my app?
You can test from a subdomain, but a custom production domain is better for launch. It looks more stable to users and reviewers, and it reduces confusion in login, support, and deep-link flows.
Do I need native code to publish a vibe-coded app?
Not usually. If your web app works well on mobile, Median creates the native app layer without a Swift or Kotlin rebuild. You may still want native plugins for push notifications, permissions, purchases, or deep links.
