> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bloom.diy/llms.txt
> Use this file to discover all available pages before exploring further.

# Building from Mobile

> Create and iterate on apps directly from your phone.

The **Bloom mobile app** lets you build, test, and modify apps directly from your phone. Whether you're commuting, traveling, or just prefer working from your device, you can create full-stack apps without touching a computer.

## When to use the mobile app

<CardGroup cols={2}>
  <Card title="Quick prototyping" icon="bolt">
    Sketch out ideas immediately when inspiration strikes—no need to be at a desk.
  </Card>

  <Card title="On-the-go iterations" icon="person-walking">
    Make changes or fix issues while away from your computer.
  </Card>

  <Card title="Native testing" icon="mobile">
    Build and test directly on your phone to see exactly how your app feels to users.
  </Card>

  <Card title="Collaboration" icon="users">
    Show teammates or clients your app in real-time during meetings or casual conversations.
  </Card>

  <Card title="Learning on mobile" icon="graduation-cap">
    New to app building? The mobile interface makes it easy to experiment and learn.
  </Card>

  <Card title="Instant sharing" icon="qrcode">
    Generate share links and QR codes to demo your app to people nearby.
  </Card>
</CardGroup>

<Info>
  **Everything syncs:** Changes you make in the mobile app sync automatically to the web workspace and vice versa. Start on mobile, finish on web—or the other way around.
</Info>

## Getting started

### Download the Bloom app

<Tabs>
  <Tab title="iOS">
    **Download from the App Store**

    1. Open the App Store on your iPhone or iPad
    2. Search for "Bloom" or "Bloom App Builder"
    3. Tap **Get** to download
    4. Open the app once installed

    <Info>
      Requires iOS 15 or later for the best experience.
    </Info>
  </Tab>
</Tabs>

### Sign in

<Steps>
  <Step title="Open Bloom" icon="mobile">
    Launch the app on your device.
  </Step>

  <Step title="Sign in with your account" icon="right-to-bracket">
    <Tip>
      Use the same account you use on the web to access all your apps across devices.
    </Tip>
  </Step>

  <Step title="Access your apps" icon="grid-2">
    After signing in, you'll see your app dashboard with all your Bloom apps.

    <img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-dashboard.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=45f88de20896227e4fcd63c36e31da4c" alt="App Dashboard" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-dashboard.png" />

    From here you can:

    * Open existing apps
    * Create new apps
    * Access recent apps
    * Manage your account settings
  </Step>
</Steps>

## Creating a new app

<Steps>
  <Step title="Tap the '+' button" icon="plus">
    From your app dashboard, tap the **+** button at the bottom of the screen.
  </Step>

  <Step title="Describe your app" icon="message">
    In the chat interface, describe what you want to build.

    <img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-create.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=8d19f45b5d49899df4cca6760b0f5b30" alt="Chat Interface" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-create.png" />

    **Tips for mobile prompting:**

    * Be concise but specific
    * Use voice input if typing is difficult
    * Break complex ideas into multiple messages
    * Reference examples when helpful

    <Accordion title="Example prompts">
      **Good mobile prompts:**

      * "Build a habit tracker with daily check-ins and streak tracking"
      * "Create a simple to-do list with categories"
      * "Make a photo sharing app with comments"

      **Less effective:**

      * "Make an app" (too vague)
      * "Build something like Instagram with all features" (too complex for first version)
    </Accordion>
  </Step>

  <Step title="Bloom generates your app" icon="wand-magic-sparkles">
    Just like on web, Bloom creates your full-stack app:

    * Frontend screens and UI
    * Backend functions and database
    * Authentication setup
    * Real-time preview

    You'll see progress updates as generation happens.
  </Step>

  <Step title="Preview on your device" icon="eye">
    Once generation completes, your app opens automatically in native preview.

    <img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-preview.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=905cd2098017459891d17deabb88acac" alt="App Preview" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-preview.png" />

    <Check>
      Test all screens and interactions
    </Check>

    <Check>
      Try user flows from start to finish
    </Check>

    <Check>
      Experience exactly what your users will see
    </Check>
  </Step>
</Steps>

## Making changes

### Using the chat

The chat interface is your main tool for modifying your app on mobile:

Type your requests in the chat at the bottom of the screen:

<img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-edit.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=a17ab7f59baa0b38397958a22fa957c0" alt="Making changes on mobile" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-edit.png" />

**Example requests:**

* "Add a search bar to the home screen"
* "Change the button color to blue"
* "Make the text larger"
* "Add a delete button to each item"

### Choosing a model

You can choose which AI model Bloom uses to generate your code. Tap the **+** button in the bottom left corner of the chat input to open the model selector.

<img src="https://mintcdn.com/bloom-eafef039/6Jj6W1TQ2_0nANBi/images/select-model-mobile.png?fit=max&auto=format&n=6Jj6W1TQ2_0nANBi&q=85&s=a1c2bbcb4e6a1fb59f8dfbecd85cf45f" alt="Model selector on mobile" style={{width: '320px'}} width="1170" height="1163" data-path="images/select-model-mobile.png" />

**Available models:**

| Model              | Cost   | Best for                                    |
| ------------------ | ------ | ------------------------------------------- |
| **Auto** (default) | Varies | Bloom picks the best model for each request |
| **MiniMax M2.5**   | \$     | Lighter, faster generations                 |
| **Gemini 3.1 Pro** | \$\$   | Balanced speed and quality                  |
| **Sonnet 4.6**     | \$\$   | Balanced speed and quality                  |
| **GPT 5.3 Codex**  | \$\$\$ | Complex, high-quality generations           |
| **Opus 4.6**       | \$\$\$ | Complex, high-quality generations           |

**Auto** is selected by default and works well for most requests. Higher-tier models (\$\$, \$\$\$) produce more sophisticated results but use more credits per generation.

### Common modifications

<AccordionGroup>
  <Accordion title="UI changes" icon="paintbrush">
    **Example prompts:**

    * "Make the buttons rounded"
    * "Add spacing between list items"
    * "Change the background to light gray"
    * "Show user avatars as circles"
    * "Make the header sticky at the top"
  </Accordion>

  <Accordion title="Adding features" icon="plus">
    **Example prompts:**

    * "Add a filter dropdown"
    * "Include a favorites feature"
    * "Let users upload photos"
    * "Add dark mode support"
    * "Include share functionality"
  </Accordion>

  <Accordion title="Fixing issues" icon="wrench">
    **Example prompts:**

    * "The save button doesn't work"
    * "Fix the keyboard covering the input"
    * "Photos aren't loading"
    * "The list won't scroll"
    * "Users can't sign out"
  </Accordion>

  <Accordion title="Data and logic" icon="database">
    **Example prompts:**

    * "Only show items from the current user"
    * "Sort the list by date"
    * "Add validation to the form"
    * "Send a notification when someone comments"
    * "Delete old items automatically"
  </Accordion>
</AccordionGroup>

## Testing your app

### Native preview

One of the biggest advantages of building on mobile: you're already testing on the platform your users will use.

<CardGroup cols={2}>
  <Card title="Real device testing" icon="mobile">
    Test on actual hardware—no simulators or emulators needed.
  </Card>

  <Card title="Touch interactions" icon="hand-pointer">
    Experience taps, swipes, and gestures exactly as users will.
  </Card>

  <Card title="Screen sizes" icon="maximize">
    See how your app looks on your specific device size.
  </Card>

  <Card title="Performance" icon="gauge">
    Check actual load times and responsiveness on mobile.
  </Card>
</CardGroup>

### Gestures for testing

Based on your screenshots, Bloom supports developer gestures for quick testing:

<img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-gestures.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=b6e0c8855f3cf4d5830b4ef9642be040" alt="Developer Gestures" style={{width: '320px'}} width="1170" height="1704" data-path="images/mobile-gestures.png" />

<Tabs>
  <Tab title="Shake Device">
    **Shake your phone** to open the developer menu.

    Access tools like:

    * Reload app
    * Debug options
    * Performance monitoring
    * Network inspector
  </Tab>

  <Tab title="Three-Finger Press">
    **Press with three fingers** to trigger specific actions or open quick settings.
  </Tab>

  <Tab title="Pinch to Exit">
    **Pinch inward** to exit preview mode and return to the Bloom interface.
  </Tab>
</Tabs>

<Note>
  Developer gestures can be enabled/disabled in **Settings** → **Gestures** within the Bloom app.
</Note>

## Viewing your app structure

The mobile app includes views to understand and manage your app:

### App sections

<Tabs>
  <Tab title="Edit">
    The main building interface where you chat with Bloom and see your app preview.

    <img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-edit.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=a17ab7f59baa0b38397958a22fa957c0" alt="Edit Tab" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-edit.png" />
  </Tab>

  <Tab title="App">
    Navigate through your app's screens and test functionality in full-screen mode.

    Perfect for:

    * User flow testing
    * Sharing with others
    * Experiencing the app as users will
  </Tab>
</Tabs>

### Database view

Access your Convex database directly from mobile. From the **More** tab, tap **View Database** to browse your tables and data.

<img src="https://mintcdn.com/bloom-eafef039/6Jj6W1TQ2_0nANBi/images/database-mobile.png?fit=max&auto=format&n=6Jj6W1TQ2_0nANBi&q=85&s=8eb458753c0fc29e17806fe2c516ccad" alt="Database view on mobile" style={{width: '320px'}} width="1170" height="2532" data-path="images/database-mobile.png" />

**What you can do:**

* Browse database tables
* View stored data
* Check document structure
* Verify data is saving correctly

<Info>
  The database view is read-only on mobile. For more detailed database management, use the web workspace's [**Backend Dashboard**](/backend-dashboard).
</Info>

### Code preview

You can browse your app's generated code directly from your phone. From the **More** tab, tap **View Code** to open a modal with your project files.

<img src="https://mintcdn.com/bloom-eafef039/6Jj6W1TQ2_0nANBi/images/mobile-code-preview.png?fit=max&auto=format&n=6Jj6W1TQ2_0nANBi&q=85&s=17b8ad3905589f872d8ded3a883e62a0" alt="Code preview on mobile" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-code-preview.png" />

* **File dropdown** (top left) to switch between files in your project
* **Refresh** to reload the file contents
* **Copy** to copy the current file's contents to your clipboard (Starter plan and above)
* **Download** to download the file to your device (Starter plan and above)

Code files are read-only within Bloom. To edit code directly, use [**GitHub Sync**](/github-sync) or [**export your code**](/exporting-code).

<Info>
  For a full overview of browsing code on both web and mobile, see [**Code Preview**](/code-preview).
</Info>

## Upgrading your plan on mobile

You can upgrade your plan directly from the app.

<Steps>
  <Step title="Tap your profile image" icon="circle-user">
    From the dashboard, tap your **profile image** in the top right corner.
  </Step>

  <Step title="Tap 'Upgrade Plan'" icon="arrow-up">
    Select **Upgrade Plan** from the menu to see available plans.

    <img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-pricing.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=256b9469c8dae1206d3f7096c4616d61" alt="Upgrade plan on mobile" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-pricing.png" />
  </Step>
</Steps>

## Buying credits on mobile

If you're running low on credits, you can top up directly from the app without switching to web.

<Steps>
  <Step title="Tap your profile image" icon="circle-user">
    From the dashboard, tap your **profile image** in the top right corner.
  </Step>

  <Step title="Tap 'Buy Credits'" icon="coins">
    Select **Buy Credits** from the menu to see top-up options.

    <img src="https://mintcdn.com/bloom-eafef039/FFPKMkGhN_cDZ48F/images/mobile-top-up.png?fit=max&auto=format&n=FFPKMkGhN_cDZ48F&q=85&s=a8cea7ca0633959bb1d221eaa8d68b93" alt="Buy credits on mobile" style={{width: '320px'}} width="1170" height="2532" data-path="images/mobile-top-up.png" />
  </Step>
</Steps>

<Tip>
  Top-ups are one-time purchases that add to your balance immediately and never expire.
</Tip>

## Sharing from mobile

Generate share links instantly from your phone:

<Steps>
  <Step title="Tap the share icon" icon="share-nodes">
    In your app preview, tap the **share** button in the toolbar.
  </Step>

  <Step title="Choose share method" icon="qrcode">
    **Options:**

    * **Copy link** — Get a shareable URL
    * **Show QR code** — Display a QR code for others to scan
    * **Share via...** — Use your device's native share sheet (Messages, Email, etc.)
  </Step>

  <Step title="Recipients access instantly" icon="mobile">
    Anyone with the link or QR code can try your app immediately on their device.
  </Step>
</Steps>

<Tip>
  Sharing from mobile is perfect for in-person demos at meetings, conferences, or casual conversations.
</Tip>

[Learn more about sharing →](/instant-sharing)

## Collaboration on mobile

### Version history

See past versions of your app and restore if needed:

<Steps>
  <Step title="Open Version History" icon="clock-rotate-left">
    From the **More** tab, select **Version History**.
  </Step>

  <Step title="Browse versions" icon="list">
    See all saved versions with timestamps and descriptions of changes.
  </Step>

  <Step title="Restore a version" icon="arrow-rotate-left">
    Tap any version to preview it, then choose **Restore** if you want to revert to that state.
  </Step>
</Steps>

<Warning>
  Restoring a version will overwrite your current app state. Make sure you want to go back before confirming.
</Warning>

### Mobile vs. web: when to use each

<Tabs>
  <Tab title="Use mobile for...">
    <Check>
      Quick iterations and idea sketching
    </Check>

    <Check>
      Native device testing
    </Check>

    <Check>
      Building simple apps start to finish
    </Check>

    <Check>
      On-the-go changes and updates
    </Check>

    <Check>
      In-person demos and sharing
    </Check>

    <Check>
      Learning Bloom while commuting or traveling
    </Check>
  </Tab>

  <Tab title="Use web for...">
    <Check>
      Complex backend configuration
    </Check>

    <Check>
      Detailed code exploration (when available)
    </Check>

    <Check>
      Managing environment variables
    </Check>

    <Check>
      Advanced debugging with logs
    </Check>

    <Check>
      Setting up API integrations
    </Check>

    <Check>
      Exporting code or GitHub sync
    </Check>
  </Tab>
</Tabs>

<Info>
  **Best practice:** Start on mobile for rapid prototyping, then move to web for refinement and configuration. Or vice versa—whatever fits your workflow!
</Info>

## Limitations on mobile

<Warning>
  Some features are currently **web-only**:

  * Environment variable management
  * API connection configuration
  * Code export and GitHub sync
  * Detailed backend metrics

  For these tasks, switch to the web workspace.
</Warning>

## Syncing between devices

Your apps sync automatically across all devices:

<Steps>
  <Step title="Make changes on mobile" icon="mobile">
    Edit your app, add features, or fix issues from your phone.
  </Step>

  <Step title="Changes sync to web" icon="cloud">
    Open the same app in your web browser—all changes are already there.
  </Step>

  <Step title="Continue on any device" icon="arrows-rotate">
    Work seamlessly across phone, tablet, and computer without manual syncing.
  </Step>
</Steps>

<Check>
  Your entire app—code, data, settings—is always in sync across devices.
</Check>

## What's next?

<CardGroup cols={2}>
  <Card title="Build from web" icon="globe" href="/building-from-web">
    Use the full workspace for complex features and backend configuration.
  </Card>

  <Card title="Share your app" icon="qrcode" href="/instant-sharing">
    Generate links and QR codes to demo your app to anyone.
  </Card>

  <Card title="Backend Dashboard" icon="chart-line" href="/backend-dashboard">
    Monitor your app's health and performance (best on web).
  </Card>

  <Card title="Deploy your app" icon="rocket" href="/deploying-your-app">
    Ready to publish? Learn how to deploy to app stores.
  </Card>
</CardGroup>

<Note>
  **New to app building?** The mobile app is a great way to start—experiment, learn, and create without the complexity of traditional development tools.
</Note>
