Docs
Search docs…⌘K
DashboardStart free →
Getting Started
What is WyberAi?Your first buildHow credits work
Web Apps
Generating a web appConnecting SupabasePublishingCustom domainsExporting & self-hosting
Mobile Apps
Generating a mobile appThe live previewExporting to ExpoApp Store submission
Account & Billing
Plans & pricingCredits explainedAI models
Web Apps›Exporting & self-hosting

Exporting & self-hosting

Your app's code belongs to you. As traffic grows, you can export the full project and run it on your own infrastructure — no migration tool required, no lock-in.

What you'll need
  • A Wyber project with at least one build
  • Node.js installed locally — to verify the export builds

When to export

Most projects run fine on Wyber indefinitely. Consider exporting when you need infrastructure Wyber doesn't provide directly — custom backend logic outside Supabase, a different hosting region, dedicated compute, or you simply want a second copy of the code under your own control.

Step-by-step

  1. 1
    Export the project

    From the editor, go to Settings → Export and choose Download ZIP. Every export is run through the same sanitization pass used before every Wyber publish, so the ZIP is guaranteed to include a working entry point, complete package.json, and no missing imports.

  2. 2
    Move Supabase credentials to env vars

    If your project uses Supabase, the exported WYBER_EXPORT.md tells you exactly which values to move into VITE_SUPABASE_URL / VITE_SUPABASE_ANON_KEY. The anon key is safe to ship to the client — your Row Level Security policies are the real access boundary, not the key itself.

  3. 3
    Build locally to verify

    Unzip, then run:

    npm install
    npm run build   # should complete with no errors
    npm run dev
  4. 4
    Deploy and cut over DNS

    Deploy the built output to your host of choice (Vercel, Netlify, your own server). If you had a custom domain pointed at Wyber, update the DNS record at your registrar to point at the new host. There's no downtime requirement on Wyber's side — your old published URL keeps working until you remove it.

Note: Prefer to push straight to a repo instead of a ZIP? Settings → GitHub pushes the same sanitized files directly to a repo under your account.
← Custom domainsNext: Generating a mobile app →