Most AI app builders only produce web apps. Bolt.new, Lovable, v0, and Replit all generate browser-based projects. If you want to build a mobile app with AI and ship it to the App Store or Google Play, you need a tool that supports native output. Dyad is one of the few that does. It uses Capacitor to convert your React web app into a hybrid mobile app that runs on iOS and Android.
Web app vs. mobile app: when to choose which
Before adding mobile targets, consider whether you actually need a native app. A responsive web app covers many use cases and is simpler to deploy.
A native mobile app makes sense when you need:
- Push notifications. Sending alerts when the app is closed.
- Offline access. Full functionality without a network connection.
- Device APIs. Camera, file system, sensors, or biometric auth beyond what the browser provides.
- App store distribution. Some audiences expect to install apps from the App Store or Google Play.
If none of these apply, stick with a web app. You can ask Dyad to make your UI responsive and mobile-friendly without adding native targets. You can always upgrade later.
How Dyad handles mobile
Dyad uses Capacitor, an open-source framework from the Ionic team. Capacitor wraps your web app in a native shell that runs on iOS and Android. Your UI code stays the same. Capacitor provides a bridge to native device APIs through JavaScript plugins.
This is different from React Native or Flutter, which require you to write native UI code. With Capacitor, your existing React app works as-is. You add native capabilities through plugins rather than rewriting components.
What this means in practice
- Your Dyad app runs in a WebView inside a native app container.
- You can access native APIs (camera, push notifications, geolocation, file system) through Capacitor plugins.
- You test and build using Xcode (iOS) and Android Studio (Android).
- The same codebase produces a web app, an iOS app, and an Android app.
Step-by-step: build a mobile app with AI in Dyad
Here is the full workflow, from creating your app to running it on a device.
1. Build your web app first
Start with the default React/Vite.js template in Dyad. Chat with the AI to describe what you want your app to do. Iterate on the design and features until you have something that works well in the browser preview.
I recommend getting the core functionality right before adding mobile targets. Debugging is faster in the browser, and you avoid dealing with native tooling until you need it.
2. Upgrade to Capacitor
Once your app works in the browser, you can upgrade it to a hybrid mobile app with one click.
- Open the App Details page by clicking your app name in the top-left corner.
- Scroll to the Upgrades section.
- Click Upgrade next to Upgrade to hybrid mobile app with Capacitor.
Dyad adds the Capacitor configuration and platform folders to your project. Your web app code stays unchanged.
If the one-click upgrade does not work for your project, you can also manually add Capacitor. Since Dyad generates standard code, any Capacitor documentation applies directly.
3. Install the platform tools
You need native IDEs to build and test mobile apps:
- iOS: Install Xcode (macOS only).
- Android: Install Android Studio (Mac, Windows, or Linux).
These are required. There is no way around native tooling for mobile development.
4. Open in the IDE and test
After upgrading, the App Details page shows two new buttons: Sync and open in Xcode and Sync and open in Android Studio. Click the one that matches your target platform.
Dyad builds your web app, syncs the output to the native project, and opens the IDE. From there:
- In Xcode, select a simulator or connected device and press Run.
- In Android Studio, select an emulator or connected device and press Run.
The first build takes a few minutes. Subsequent builds are faster.
5. Iterate with AI
Go back to Dyad's chat to make changes. Ask the AI to add features, adjust the UI, or fix issues. Each time you make changes, click Sync and open again to push updates to the native project.
You can keep chatting with the AI to build a mobile app with AI-driven iteration. The workflow is the same as web development, just with an extra sync step.
Why cloud AI app builders cannot do this
Cloud-based tools like Bolt.new and Lovable run your code in browser sandboxes. They generate web apps that you can deploy to a URL. But they do not produce native mobile app projects.
To build a mobile app with AI, you need:
- A real project folder on your machine (Capacitor requires local files).
- Native build tools (Xcode, Android Studio) that run on your desktop.
- The ability to modify build configurations, add plugins, and manage signing certificates.
Cloud builders do not give you this level of access. They output a web app, and that is where the story ends.
Dyad runs locally on your machine. Your project is a standard folder with normal files. You can open it in any editor, run any CLI tool against it, and point native IDEs at the platform directories. This is what makes the Capacitor integration possible.
Trade-offs to keep in mind
Building mobile apps adds complexity. Be aware of these before you start.
- Hardware requirements. iOS apps require a Mac. There is no way to build for iOS on Windows or Linux without a remote build service.
- Cost to publish. Apple charges $99/year for a developer account. Google charges a one-time $25 fee. Web apps can be deployed for free.
- Testing on real devices. Simulators cover most cases, but platform-specific bugs show up on real hardware. You will want at least one physical device for each platform you target.
- App store review. Both Apple and Google review submitted apps. This process can take days, and apps can be rejected for policy violations.
- Capacitor is experimental in Dyad. The mobile app support works, but expect some rough edges. If you run into issues, report them so they can be fixed.
An alternative: Expo
If you prefer React Native over Capacitor, Dyad also supports an Expo template contributed by the community. Expo uses React Native instead of a WebView, which means native UI components rather than web UI running in a wrapper. The trade-off is that your existing web app code will not carry over directly, and you will be writing React Native components instead of standard React.
For most users who want to build a mobile app with AI and already have a working Dyad web app, the Capacitor path is simpler because your existing code works without changes.
Summary
Dyad is a local, open-source AI app builder that supports mobile output through Capacitor. You can describe an app in plain language, iterate on it with AI, and convert it to a native iOS or Android app with a one-click upgrade. The code is standard React, the project files live on your machine, and you own everything.
If you want to build a mobile app with AI, the workflow is: build a web app in Dyad first, upgrade to Capacitor when you are ready, and use Xcode or Android Studio to test and publish. Download Dyad and try it.