## How to build

Prompt Anything to make a mobile app. It builds your app in mobile pages and adds more functionality as you go. You can add more pages by prompting or from the [logo menu](/content/docs/builder/controls#logo-menu/index.html).

1. **Get a Pro account**  
   You need a [Pro account](/content/docs/account/credits/index.html) to build mobile apps.

2. **Start a new project**  
   Create a fresh project from your dashboard. For a full overview of how to build with Anything, see the [Essentials guide](/content/docs/essentials/index.html).

3. **Create your mobile app**  
   Prompt Anything to make a mobile app. You can say things like “Make an iOS app that…” or “Make an Android app that…” or “Make a mobile app that…” Anything generates your first mobile screen. You’ll know it’s working if you see the mobile preview.

This is a web preview, so features that rely on a device (like location or camera) might not work. See [Preview on your device](/content/docs/apps/mobile/getting-started#preview-on-your-device/index.html) to test on your phone.

4. **Preview on your device**  
   Download [Expo Go](https://expo.dev/client) and preview your app on a physical device. If you’re on iPhone, install it from the [App Store](https://apps.apple.com/us/app/expo-go/id982107779). See the [Preview on your device](/content/docs/apps/mobile/getting-started#preview-on-your-device/index.html) section for detailed steps.

5. **Add mobile features**  
   Request specific mobile capabilities:
   
   ```
   Add a barcode scanner to scan product nutrition labels
   ```
   
   ```
   Let users take photos of their workout progress
   ```

Anything supports mobile-specific capabilities. For a deeper dive, read [Device capabilities](/content/docs/apps/mobile/device-capabilities/index.html).

6. **Add backend and data**  
   Use Anything’s built-in [databases](/content/docs/apps/databases/index.html), [functions](/content/docs/apps/backend/index.html), [auth](/content/docs/apps/auth/index.html), and [payments](/content/docs/payments/revenuecat/index.html) to build complete apps. Describe what you want and Anything adds the right pieces. For example:
   
   ```
   Make a fitness tracking app where users can log workouts,  
   track progress, and set goals. Include a calendar view.
   ```

7. **Test and refine**  
   Preview on your device and make improvements through conversation. Be specific about issues so Anything can fix the underlying code:
   
   ```
   The workout screen is cluttered. Simplify it and make the "Add Workout" button more prominent.
   ```
   
   ```
   The app crashes when I try to take a photo. Can you fix this?
   ```

For debugging techniques and strategies, see the [testing guide](/content/docs/apps/mobile/testing/index.html).

8. **Set your app icon**  
   Head into **Project Settings** to upload an icon and loading screen for your app.

Both icons need a 1024 x 1024px PNG.

9. **Publish to the app stores**  
   When you’re ready, follow the steps in [Publishing to app stores](/content/docs/launch/app-store/index.html) to publish to Apple’s App Store or Google’s Play Store.

## Preview on your device

The web builder shows a preview of your app as you chat. But to test the full experience, preview on your device. Some features that need device capabilities only work in preview.

1. **Start a new mobile project**  
   Start a new mobile project with a prompt or go to an existing one.

2. **Wait for the QR code**  
   Anything starts building your device preview right away. This might take a few moments. If it takes longer than a minute, let us know at [hello@anything.com](mailto:hello@anything.com).

3. **Scan the QR code**  
   Use your camera or a QR code scanner app on iOS or Android to grab the link.

4. **Test in Expo Go**  
   Your app opens in Expo Go. Try it out.

Anything: Previewing your mobile app on ExpoGo

5. **Make updates in Anything**  
   Continue building your app by chatting with Anything in the web interface.

6. **See latest changes**  
   Close and reopen Expo Go to see latest changes. It should auto-update with the latest version of your app. If you need to force it, scan the QR code again.

Testing on a physical device gives you the most accurate experience, especially for hardware features like camera or sensors.
