mobile app builder with live link, publishes to app store, create ai apps
by @versacexcodes
Build full-stack web and mobile apps from a text description. Creates projects, plans features, and starts Quick Start builds for background execution.
clawhub install mobile-app-builder-aiπ About This Skill
name: launchpulse version: 1.1.1 description: Build full-stack web and mobile apps from a text description. Creates projects, plans features, and starts Quick Start builds for background execution. homepage: https://launchpulse.ai license: MIT user-invocable: true metadata: {"openclaw":{"homepage":"https://launchpulse.ai","requires":{"bins":["node"]},"author":"LaunchPulse","categories":["development","deployment"]}}
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: 1. Creates a new project (web or Expo mobile) 2. Plans MVP features using AI and auto-approves them 3. Starts Quick Start (single-pass background build) 4. Returns immediately with project id/session id so progress can be monitored 5. Iterates on existing projects with change requests 6. 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: 1. OpenClaw prints a sign-in link 2. You open it, sign in with Google on launchpulse.ai, and confirm 3. 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 : provide a PAT directlyLAUNCHPULSE_API_KEY / --api-key : alias for PAT-style API key authLAUNCHPULSE_ACCESS_TOKEN / --access-token : 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):
What happens when you run out:
/launchpulse status to check your balance anytime/launchpulse upgrade to purchase more tokens or upgrade your planHow to use
Login (optional, happens automatically on first use):
/launchpulse loginLogout (clears stored token):
/launchpulse logoutCheck balance:
/launchpulse statusUpgrade 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 "Add a contact form to the homepage" Production operations:
/launchpulse projects/launchpulse project-status /launchpulse deploy --target cloud-run --wait /launchpulse deploy-status /launchpulse store-publish --payload-file ./store-publish.json --wait /launchpulse store-status [--publish-id ] /launchpulse store-2fa /launchpulse domains search "mybrand"/launchpulse domains check mybrand.com/launchpulse domains add mybrand.com /launchpulse domains provision mybrand.com my-fly-app /launchpulse db info /launchpulse db table users /launchpulse db query "select * from users limit 10" /launchpulse storage init/launchpulse storage upload --payload-file ./upload.json /launchpulse env-files list /launchpulse env-files save --file-path vitereact/.env --vars-file ./vars.json /launchpulse payments inject-env --project-type vitereact /launchpulse payments setup --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/workspacenode skills/launchpulse/scripts/launchpulse.cjs loginnode skills/launchpulse/scripts/launchpulse.cjs statusnode skills/launchpulse/scripts/launchpulse.cjs upgrade --tier STARTERnode skills/launchpulse/scripts/launchpulse.cjs web "" node skills/launchpulse/scripts/launchpulse.cjs mobile "" node skills/launchpulse/scripts/launchpulse.cjs iterate "" node skills/launchpulse/scripts/launchpulse.cjs projectsnode skills/launchpulse/scripts/launchpulse.cjs project-status node skills/launchpulse/scripts/launchpulse.cjs deploy --target cloud-run --wait node skills/launchpulse/scripts/launchpulse.cjs store-publish --payload-file ./store-publish.json --wait node skills/launchpulse/scripts/launchpulse.cjs domains search "" node skills/launchpulse/scripts/launchpulse.cjs db info node skills/launchpulse/scripts/launchpulse.cjs payments setup --project-type vitereact --vars-file ./vars.json Useful options:
--api-base : override API base (for local/dev backend)--name : preferred project id--pat / --access-token : advanced auth overrides--no-plan: skip AI planner and use MVP fallback feature directly--timeout-min : timeout in minutes for long-running commands (iterate/deploy/store wait)--chat-id : (iterate) use a specific project chat--provider / --model : (iterate) override AI provider/model--target : (deploy) deployment target--wait: poll until terminal status (deploy/store publish)--payload-file : JSON payload for complex commands--project-type : payment/env injection mode--vars-file / --file-path : env-files save/payment setupUser updates (required)
When running this skill for users in Telegram/OpenClaw, keep updates short and frequent:
status: "quick_start_started", always send an explicit completion update immediately with projectId, sessionId, and guidance to monitor via project-status.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 flagstatus: operation-specific status (quick_start_started, success, failed, token_limit_exceeded, deploy/store/domain/db/payment states)projectId, mode, sessionIdpreview: URLs (frontendUrl, backendUrl, expoGoUrl)features: counts snapshot (total, selected, completed)billing: (when applicable) tier, upgradeUrl, buyTokensUrlExit 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--api-base http://localhost:667/apiChangelog
1.1.1
web and mobile flow to Quick Start onlyweb/mobile now return immediately with status: "quick_start_started"1.1.0
1.0.0
status command to check plan and usageupgrade command with direct Stripe checkout links