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

# Mocha

> Bring your Mocha projects to Anything

Anything is Mocha's official migration partner. If you have projects on Mocha, you can bring them to Anything with your data, users, and files intact.

<Warning>
  Mocha shuts down on **August 1, 2026**. You'll need to migrate any apps you want to keep before then.
</Warning>

## New to Anything?

Anything is an AI app builder. Describe what you want, the agent builds it, and you can ship to the web or the App Store. Databases, auth, payments, hosting, custom domains. One place to build, not a stack of separate vendors to glue together.

You can build web apps, websites, and iOS apps (Android coming). Marketplaces, dashboards, internal tools, content sites, member areas. If you want the full tour, start at [Essentials](/essentials) or jump to [Build your first app](/first-app).

**How is Anything different from Mocha?** Same idea, with a few differences that matter for the import:

* You own your Google sign-in setup (your OAuth credentials, your app's name on the consent screen)
* Mobile apps are first-class, including [App Store submission](/launch/app-store)
* Apps run on Postgres and Next.js instead of D1 and Hono
* There's a builder agent you talk to in plain language to make changes after import

## The migration flow

<Steps>
  <Step title="Start on the migration page">
    Visit [anything.com/mocha](https://anything.com/mocha) and click **Start migrating**.
  </Step>

  <Step title="Authenticate with Mocha">
    Anything sends you to Mocha to confirm your identity. This lets us access your project data.
  </Step>

  <Step title="Come back to Anything">
    Mocha redirects you back. You'll see a list of your Mocha projects.
  </Step>

  <Step title="Pick your projects">
    Select the projects you want to import. You don't have to bring everything. Start with the ones that matter most and import more later if needed. Apps you've already imported or started importing show a badge in the picker.
  </Step>

  <Step title="Choose a plan">
    Pick an Anything [plan](/account/subscriptions). You'll see the options and pricing before you commit.
  </Step>

  <Step title="Import starts">
    Anything kicks off the transfer. Each app imports independently, so you can track progress per project. You'll get an email when the import starts, with a link to watch progress, and another email when it's done.
  </Step>
</Steps>

<Tip>
  You can select multiple apps and import them all at once. Each one runs independently — if one hits an issue, the others keep going.
</Tip>

## What the import does

Your Mocha project becomes an Anything project. Code is rewritten, data moves over, files transfer, and users carry across.

| Component                     | Mocha                      | Anything            |
| ----------------------------- | -------------------------- | ------------------- |
| [Pages](/apps/web)            | React on Cloudflare        | Next.js App Router  |
| [API routes](/apps/backend)   | Hono on Cloudflare Workers | Next.js API routes  |
| [Database](/apps/databases)   | Cloudflare D1 (SQLite)     | Postgres            |
| [File storage](/apps/uploads) | Cloudflare R2              | S3                  |
| [Auth](/apps/auth)            | Mocha's shared auth        | Your own auth setup |

Your production data transfers by default. If your Mocha app has live users and data, that's what comes over — applied to both your development and production [database](/apps/databases) environments so you can start building immediately. Images, uploads, and other [files](/apps/uploads) are re-uploaded to Anything's storage and appear in your project's Assets tab, and every URL reference in your code and data updates automatically. User accounts carry across with their Google OAuth identifiers, so existing users stay matched once you set up [Google sign-in](/auth/google).

<Note>
  The [database](/apps/databases) conversion rewrites SQLite syntax to Postgres (e.g. `AUTOINCREMENT` to `SERIAL`, `datetime('now')` to `NOW()`). You don't need to do anything manually.
</Note>

## After the import

Your Mocha project is now an Anything project. A few things need your attention before you go live.

<Note>
  When you open your imported project, the [builder](/builder/agent) shows a starter checklist of the manual setup that's left — primarily setting up your own [Google sign-in](/auth/google) and adding any third-party API keys your app uses. The agent also knows your app came from Mocha, so when you ask it for help, it has that context.
</Note>

### 1. Preview your app

Open the imported project in the [builder](/builder/controls). You'll see a welcome message with a summary of what was migrated and what still needs setup. Check that everything looks right — click through the pages, test the main flows, and make sure the data shows up.

The conversion is automated and handles most things correctly, but it's not perfect. If something looks off, just tell the [agent](/builder/agent) what to fix — you have 20,000 bonus credits for post-migration edits.

```
The navigation bar lost its background color. Make it dark blue like the original.
```

```
The dashboard chart isn't loading data. Fix the API call on the dashboard page.
```

### 2. Set up auth

On Mocha, your app used Mocha's shared Google OAuth app for login. On Anything, your app gets its own [Google sign-in](/auth/google) setup. That means more control: you own the OAuth credentials, and your users see your app name (not Mocha's) when they sign in.

Your users' Google OAuth identifiers transferred with the import, so existing users can still log in with Google once you configure it.

To set up auth on Anything:

1. Create your own Google OAuth credentials (Client ID and Secret). See [Google Sign In](/auth/google) for steps.
2. Add them in **Project Settings** under auth.
3. Test sign-in with an existing user account to confirm it works.

See [Auth](/apps/auth) for the full guide.

<Warning>
  Before you move your domain, publish your imported app to its free `.created.app` URL and try it out there first. The import does most of the work, but some apps need small fixes from the [agent](/builder/agent) before they're ready for real users. Your 20,000 bonus credits are there to pay for those fixes.

  The safe order is:

  1. **Publish to your free `.created.app` URL.** This gives you a real, live version of your imported app that only you know about.
  2. **Try everything as if you were a customer.** Sign in, click around, make a purchase, add a post, do whatever your app is for.
  3. **If anything looks off, tell the [agent](/builder/agent).** It already knows your app came from Mocha. Just describe what's wrong and it'll fix it.
  4. **Once it all works, move your domain.** Disconnect it from Mocha, then connect it to Anything.
</Warning>

### 3. Reconnect your domain

If your Mocha app used a custom domain, you'll need to move it to Anything. The general process:

1. Release the domain from Mocha (disconnect it in your Mocha project settings)
2. Connect it to your Anything project. See [Domains](/launch/domains) for setup.
3. Update DNS records if needed.

Do this last, after you've verified the app works in Anything. That way your users stay on the working Mocha version until you're ready to switch.

### 4. Go live

Once you've verified the app, set up [Google sign-in](/auth/google), and reconnected your [domain](/launch/domains):

1. Click **Publish** in the [builder](/builder/agent). See [Publish](/launch/publish).
2. Tell your users about the new URL (or point your [domain](/launch/domains) to Anything first so the switch is invisible).

## FAQ

<AccordionGroup>
  <Accordion title="When does Mocha shut down?">
    Mocha's app builder, previews, and live apps shut down on August 1, 2026. You'll need to migrate any apps you want to keep before then. Mocha says the Anything migration link and Mocha export tool will remain available for 30 days after shutdown, but they strongly recommend moving before the deadline.

    The Mocha to Anything migration is the recommended path because it handles the conversion work for you. As an alternative, Mocha also has an export tool in your Mocha app settings for downloading your code and data, but setting that export up outside Mocha requires engineering work. Review [Mocha's shutdown notice](https://getmocha.com/blog/mocha-shutdown/) from the Mocha founders for their full timeline and export guidance.
  </Accordion>

  <Accordion title="How long does the import take?">
    Most projects import in a few minutes. Larger apps with lots of data or files may take longer. You'll get an email when it's ready.
  </Accordion>

  <Accordion title="Does my Mocha app stay live during the import?">
    Yes. The import copies your project, it doesn't delete the original. Your Mocha app stays live until you decide to cut over.
  </Accordion>

  <Accordion title="Can I import the same project more than once?">
    Yes. Each import creates a new Anything project. This is useful if you want to start fresh or try a different approach. The picker labels apps you've already imported so you can tell what's new.
  </Accordion>

  <Accordion title="What if the import fails?">
    You'll see a clear error message with the option to retry or contact support. Your Mocha app is never modified during the import, so it's always safe to try again. If you're importing multiple apps and one fails, the others continue normally.
  </Accordion>

  <Accordion title="Will my users need to create new accounts?">
    No. User data transfers with the import, including Google OAuth identifiers. Once you set up [Google sign-in](/auth/google) on Anything, existing users can sign in with the same method they used on Mocha. They may need to re-authenticate once.
  </Accordion>

  <Accordion title="What if something doesn't convert correctly?">
    The [agent](/builder/agent) can fix most issues. Describe what's wrong and it will update the code. For complex issues, see [Get Help](/support/help).
  </Accordion>

  <Accordion title="I have more questions. How do I get help?">
    For help migrating to Anything or questions about Anything's platform, email [mocha-migration@anything.com](mailto:mocha-migration@anything.com) and we'll help you out. For questions about Mocha's shutdown timeline, billing, or manual export tool, see [Mocha's shutdown notice](https://getmocha.com/blog/mocha-shutdown/).
  </Accordion>

  <Accordion title="Is there a cost to migrate?">
    You'll need an Anything [plan](/account/subscriptions). Every Mocha user gets 20,000 bonus credits on top of their plan's included credits — our AI import handles most of the work, but it might not get everything perfect, so the extra credits are there to make whatever edits you need.
  </Accordion>
</AccordionGroup>

***

<CardGroup cols={2}>
  <Card title="Auth" icon="lock" href="/apps/auth">
    Set up sign-in for your app
  </Card>

  <Card title="Databases" icon="database" href="/apps/databases">
    How your data works on Anything
  </Card>

  <Card title="Domains" icon="globe" href="/launch/domains">
    Connect a custom domain
  </Card>

  <Card title="Publish" icon="rocket" href="/launch/publish">
    Take your app live
  </Card>
</CardGroup>
