← Back to Help Center
🌐 Deploying
Preview deploys, production deploys, rollbacks, and deploy history.
Two-Tier Deployment
SaaSClaw uses a preview + production deployment model:
- Preview: A live URL for testing. Safe, isolated, shareable.
- Production: Your live, permanent URL. What your users see.
Preview Deploy
Preview deploys are the default. They happen automatically or when you click Deploy in the wizard.
- In the wizard, click Deploy (🚀 rocket icon).
- SaaSClaw builds your project and deploys it.
- Your preview URL is
https://<slug>.saasclaw.app.
- Test your app, share the URL with teammates.
💡 Tip: Preview deploys update in place — each new preview deploy replaces the previous one. This is by design for rapid iteration.
Production Deploy
Production is explicit — nothing goes live without your action.
- Deploy to preview first and verify everything works.
- Click 🚀 Prod (the production deploy button, separate from the preview Deploy).
- Your production URL updates to match the current code.
⚠️ Important: The 🚀 Prod button promotes your current code to production. Make sure you've tested thoroughly on preview first.
Ship from the Wizard
Within the wizard, you can also use the Ship It and Ship Production actions:
- Ship It: Commits all changes and deploys to preview.
- Ship Production: Commits all changes and promotes directly to production.
Deploy History & Rollback
Every deploy is recorded. Access history from your project page:
- Open your project page.
- Click Deploy History.
- You'll see a list of all deploys with timestamps, types (preview/production), and statuses.
To roll back:
- Find the deploy you want to revert to in the history list.
- Click Rollback on that deploy entry.
- The previous code becomes the current production version.
💡 Tip: Rollback is instant — it redeploys the previous commit without losing your current code. Your recent changes remain in the Git repo.
Auto-Deploy Behavior
When you generate code in the wizard, SaaSClaw may auto-deploy to preview when you click Deploy. This gives you instant feedback as you build.
- Auto-deploys only affect the preview environment.
- Production always requires an explicit action.
Build Behavior by Runtime
Deploy behavior depends on the project's runtime type:
- Node.js / Static (Vite, React, Vue, Svelte) — Runs
npm install + npm run build, copies dist/ to web root. Typically 2-5 seconds.
- Django — Runs
collectstatic, reloads Gunicorn workers. Typically 3-5 seconds.
- Android (Kotlin + Jetpack Compose) — Runs full Gradle build (
assembleDebug), produces an APK served via a download landing page with QR code. Typically 12-60 seconds. See Mobile App Deploy.
- .NET / Java (Spring Boot) — Runs Maven/Gradle build, creates systemd service. Typically 30-120 seconds.
Deploying from the Mobile App
The SaaSClaw mobile app includes a 🚀 Deploy button on the wizard screen. This triggers the same deploy pipeline as the web dashboard. The spinner remains visible until the build completes, then shows the deploy status.
Build Failures
If a deploy fails, check the build logs on the project page. Common causes:
- Missing dependencies — ensure your
requirements.txt, package.json, or equivalent is correct.
- Syntax errors in generated code.
- Configuration issues (wrong port, missing environment variables).
See Troubleshooting for detailed error resolution.