LaunchPulse (Web + Mobile App Generator)
Build production-ready web apps and Expo mobile apps from a text description. LaunchPulse plans features, starts Quick Start in the background, and returns project/session context immediately.
What it does:
- Creates a new project (web or Expo mobile)
- Plans MVP features using AI and auto-approves them
- Starts Quick Start (single-pass background build)
- Returns immediately with project id/session id so progress can be monitored
- Iterates on existing projects with change requests
- Supports production ops: deployments, app store publish, domains, database, storage, env/payment setup
If feature planning is temporarily unavailable, the skill falls back to a single MVP feature so Quick Start never stalls.
Authentication
The first time you run the skill, it automatically starts a device-login flow:
- OpenClaw prints a sign-in link
- You open it, sign in with Google on launchpulse.ai, and confirm
- OpenClaw receives a personal access token (PAT) and stores it locally
Token storage path: ${OPENCLAW_STATE_DIR:-~/.openclaw}/launchpulse/auth.json
Advanced alternatives:
LAUNCHPULSE_PAT / --pat <token>: provide a PAT directly
LAUNCHPULSE_API_KEY / --api-key <token>: alias for PAT-style API key auth
LAUNCHPULSE_ACCESS_TOKEN / --access-token <jwt>: provide a Supabase JWT (advanced)
Billing
LaunchPulse uses a token-based billing system. Every AI operation (feature planning, building, iterating) consumes tokens.
Plans:
| Plan | Price | Tokens/month | Best for |
|---|
| Free | $0 | 10,000 (~2-5 features) | Trying it out |
| Starter | $19/mo | 200,000 (~50-100 features) | Individual builders |
| Builder | $49/mo | 500,000 (~125-250 features) | Serious app builders |
Token addon packs (one-time, never expire):
- 50K tokens: $5
- 100K tokens: $9
- 500K tokens: $39 (22% off)
- 1M tokens: $69 (31% off)
What happens when you run out:
- Before Quick Start/iterate starts, the skill checks your balance and blocks with a clear message if exhausted
- If tokens run out during a build, the backend will stop progress and report billing context in status APIs
- Run
/launchpulse status to check your balance anytime
- Run
/launchpulse upgrade to purchase more tokens or upgrade your plan
How to use
Login (optional, happens automatically on first use):
Logout (clears stored token):
Check balance:
Upgrade plan or buy tokens:
/launchpulse upgrade (shows all options)
/launchpulse upgrade --tier STARTER (subscribe to Starter)
/launchpulse upgrade --tier BUILDER --billing-period annual (annual Builder)
/launchpulse upgrade --tokens 0 (buy 50K token pack)
Quick Start a web app:
/launchpulse web "Create a landing page for a dog walking business"
Quick Start a mobile app (Expo):
/launchpulse mobile "Create an Expo app for habit tracking"
Iterate on an existing project:
/launchpulse iterate <projectId> "Add a contact form to the homepage"
Production operations:
/launchpulse projects
/launchpulse project-status <projectId>
/launchpulse deploy <projectId> --target cloud-run --wait
/launchpulse deploy-status <projectId> <deploymentId>
/launchpulse store-publish <projectId> --payload-file ./store-publish.json --wait
/launchpulse store-status <projectId> [--publish-id <id>]
/launchpulse store-2fa <projectId> <publishId> <code>
/launchpulse domains search "mybrand"
/launchpulse domains check mybrand.com
/launchpulse domains add <projectId> mybrand.com
/launchpulse domains provision <projectId> mybrand.com my-fly-app
/launchpulse db info <projectId>
/launchpulse db table <projectId> users
/launchpulse db query <projectId> "select * from users limit 10"
/launchpulse storage init
/launchpulse storage upload <projectId> --payload-file ./upload.json
/launchpulse env-files list <projectId>
/launchpulse env-files save <projectId> --file-path vitereact/.env --vars-file ./vars.json
/launchpulse payments inject-env <projectId> --project-type vitereact
/launchpulse payments setup <projectId> --project-type expo --stripe-publishable-key pk_test_... --revenuecat-ios-key appl_... --revenuecat-secret-key sk_...
If the user says "iterate it" without an id, use the most recent projectId from the current chat/session.
What the assistant should do internally
Run the script from the OpenClaw workspace root:
cd ~/.openclaw/workspace
node skills/launchpulse/scripts/launchpulse.cjs login
node skills/launchpulse/scripts/launchpulse.cjs status
node skills/launchpulse/scripts/launchpulse.cjs upgrade --tier STARTER
node skills/launchpulse/scripts/launchpulse.cjs web "<description>"
node skills/launchpulse/scripts/launchpulse.cjs mobile "<description>"
node skills/launchpulse/scripts/launchpulse.cjs iterate <projectId> "<change request>"
node skills/launchpulse/scripts/launchpulse.cjs projects
node skills/launchpulse/scripts/launchpulse.cjs project-status <projectId>
node skills/launchpulse/scripts/launchpulse.cjs deploy <projectId> --target cloud-run --wait
node skills/launchpulse/scripts/launchpulse.cjs store-publish <projectId> --payload-file ./store-publish.json --wait
node skills/launchpulse/scripts/launchpulse.cjs domains search "<query>"
node skills/launchpulse/scripts/launchpulse.cjs db info <projectId>
node skills/launchpulse/scripts/launchpulse.cjs payments setup <projectId> --project-type vitereact --vars-file ./vars.json
Useful options:
--api-base <url>: override API base (for local/dev backend)
--name <slug>: preferred project id
--pat <token> / --access-token <jwt>: advanced auth overrides
--no-plan: skip AI planner and use MVP fallback feature directly
--timeout-min <n>: timeout in minutes for long-running commands (iterate/deploy/store wait)
--chat-id <id>: (iterate) use a specific project chat
--provider <id> / --model <id>: (iterate) override AI provider/model
--target <cloud-run|fly>: (deploy) deployment target
--wait: poll until terminal status (deploy/store publish)
--payload-file <path>: JSON payload for complex commands
--project-type <vitereact|expo>: payment/env injection mode
--vars-file <path> / --file-path <path>: env-files save/payment setup
User updates (required)
When running this skill for users in Telegram/OpenClaw, keep updates short and frequent:
- Send a milestone update after each major step: auth, project creation, planning/fallback, quick-start kickoff.
- When script returns
status: "quick_start_started", always send an explicit completion update immediately with projectId, sessionId, and guidance to monitor via project-status.
- If stuck or degraded (planner failure, quick-start start failure), say exactly what happened and what is still usable.
- If
status: "token_limit_exceeded", tell the user their tokens are used up and share the upgrade URL from the output.
Output
The script prints a final JSON object to stdout including:
ok: boolean success flag
status: operation-specific status (quick_start_started, success, failed, token_limit_exceeded, deploy/store/domain/db/payment states)
projectId, mode, sessionId
preview: URLs (frontendUrl, backendUrl, expoGoUrl)
features: counts snapshot (total, selected, completed)
billing: (when applicable) tier, upgradeUrl, buyTokensUrl
Exit codes: 0=success, 1=error, 2=paused, 3=timeout, 4=failed, 5=billing/token limit
Backend selection
Default API: https://api.launchpulse.ai/api
Override for local dev:
LAUNCHPULSE_API_BASE_URL=http://localhost:667/api
- or
--api-base http://localhost:667/api
Changelog
1.1.1
- Switched
web and mobile flow to Quick Start only
- Removed auto-mode loop polling/continue behavior from create flow
web/mobile now return immediately with status: "quick_start_started"
1.1.0
- Added production commands: projects, project-status, deploy/deploy-status
- Added store publish support (start/status/2FA/wait)
- Added domains command suite (search/check/map/provision/status/dns/checkout/register/verification)
- Added database command suite (info/table/query)
- Added storage command suite (init/upload/save-assets)
- Added env-files and payment setup commands (inject env + Stripe/RevenueCat env save)
- Hardened upgrade failure exit behavior (non-zero on checkout fallback failure)
1.0.0
- Initial ClawHub release
- Device auth flow (Google sign-in)
- Web and mobile (Expo) project creation
- AI-powered feature planning with fallback
- Auto-build with live polling
- Project iteration support
- Token balance checking and billing integration
status command to check plan and usage
upgrade command with direct Stripe checkout links