Leave any time

Your code, your database, your Stripe. Leave any time.

AppCrafter is where you build, not where your app has to live. Everything it makes runs without us, and taking it with you is free on every plan. No export fee, no credits to spend, no request to send.

Your code

Every app is an ordinary Vite, React and TypeScript project (or an Expo project for phones). Download it as a zip or push it to your own GitHub at any time. On every release we build a downloaded project from scratch, with nothing from AppCrafter, to prove it still runs on its own.

Your database

Your data lives in a Supabase project in your own Supabase account. The tables come from SQL migrations that sit in your code. We keep no database password and no secret key, so there is nothing to hand back.

Your Stripe

Checkout runs on two functions in your Supabase project, with your Stripe key stored as a secret there, and a webhook in your own Stripe account. None of it passes through us, so payments keep working the day you leave.

Your research and brand

The download includes docs/PROJECT_BRIEF.md: the research brief, the concept, the competitors, the names considered and the brand, with your logo and favicon. The thinking leaves with the code.

Moving out, step by step

  1. Take the code. In the builder, press Download for a zip with the code, the project brief and your brand files, or use GitHub to push it to a repository you own.
  2. Run it on your machine. You need Node.js 20 or newer.
    npm install
    npm run dev     # local development
    npm run build   # production files in dist/
  3. Host it where you like. Cloudflare Pages, Vercel and Netlify all host it as it is: build command npm run build, output folder dist. If your app has several pages, turn on the host’s single-page-app fallback so a refresh on a page other than the first still loads.
  4. Move your domain. If your app has its own domain, point its DNS record at the new host, check it loads there, then remove the domain and unpublish the app in AppCrafter’s Publish settings. The free blissfulplan.store address belongs to AppCrafter and stays behind.
  5. Build Tailwind in (recommended). To match the live preview, the project loads Tailwind from its CDN script. That works, but for a production site Tailwind recommends building it in: install tailwindcss and @tailwindcss/vite, add the plugin to vite.config.ts, import a CSS file containing @import "tailwindcss"; from src/main.tsx, and remove the script tag from index.html. Check your pages afterwards: a few class names changed between Tailwind versions.
  6. Supabase and Stripe: nothing to move. They are already in your accounts. The functions’ source is in supabase/functions; to change them later, deploy with the Supabase CLI (supabase functions deploy create-checkout --no-verify-jwt, and the same for stripe-webhook). If you ever move to another Supabase project, set the two secrets there with supabase secrets set and update the webhook address in your Stripe dashboard.
  7. Phone apps. Run npx expo start and open it in Expo Go; build for the app stores with Expo’s EAS (eas build).
  8. Close up. Cancel Pro from your account page whenever you like. Deleting your account removes what AppCrafter holds: projects, version history, research and published sites. Download first; your GitHub repository, Supabase project and Stripe account are not touched.

Why we work this way

AI builders tend to make leaving hard: your database sits in their account, your payments run through their integration, and every change costs their credits. We would rather you stayed because building here is faster, and the only way to know that is if leaving is easy. Using your own AI key already means a build costs you what your provider charges and nothing more.

Something here does not work the way this page says? Tell us, and we will treat it as a bug.

Free to start, free to leave.

Build it here. Take it anywhere.

Open AppCrafter