How it works

A pipeline you can read, in accounts you own.

Starwisp is a set of GitHub Actions workflows, prompts and a small console. Claude Code does the building, in your repo, on your API key.

1. Install

npx starwisp init

The installer checks your license, downloads the release, creates two repos with your own gh, deploys the console with your own wrangler, and creates a GitHub App from a manifest through a one-time localhost callback. It writes the App's keys straight into your repo secrets, then opens the console's Setup page.

2. Connect

The Setup page is a checklist over your vault, with Test buttons and plain-language failures. Some vendors take days (D-U-N-S, Apple, Google Play, Twilio), so slow items show as "Waiting on vendor" and the rest continues.

3. Run

Pick a preset when you start a run:

Prototype

A live web preview on your own domain. No app stores. The backend stays on.

Ship to testers

The full path: web, TestFlight and Google Play internal testing.

Both get a per-run Claude dollar cap and a spend meter on the run page.

  1. IdeaYou write it down. A chat helps sharpen it.
  2. Vision & designScope, screens and a plan you can read.
  3. BackendSupabase schema, auth and policies in your project.
  4. BuildExpo app for iPhone, Android and web, as pull requests.
  5. Security gateHardening checks before anything ships.
  6. Verify & reviewTests, then an experience review of the running app.
  7. TestersYour TestFlight and Play internal builds, uploaded from your accounts.
  8. You & the storesApple and Google review. Nobody can skip it.

The console

You run it from a console deployed to your own Cloudflare account.

The console home: a large text box that asks what should exist, with a button to shape the idea with Claude.
Start with an idea. Claude helps shape it into a brief.
A run page listing finished stages (spawn, vision, design, backend, build) with durations and a phone preview.
A live run: each stage, how long it took, what it produced.
Settings, Vault: a ring showing 8 of 19 keys connected and a note that keys are write-only.
The vault: keys are write-only and stay in your own GitHub secrets.

Console shown with demo data. Screens may change before release.

What is supported, and what is not

Supported in v1.0Not supported in v1.0
Expo / React Native apps with TypeScriptFlutter, native Swift/Kotlin, other frameworks
iOS, Android and a web buildExpo Go (the template uses a dev client and native modules)
Web preview deployed to CloudflareiOS ad-hoc builds on your iPhone without TestFlight
Android installable preview APKRunning without GitHub, or local-only mode
TestFlight and Play internal testing, uploaded from your accountsAnyone publishing your app for you. We never submit anything.
Supabase backend, Resend email, optional Twilio SMS, push, AI features through the app's own proxyBackends other than Supabase
English-language apps and store listingsMulti-language store listings
Your own accounts and keys at every vendorClaude Pro/Max subscription tokens; any hosted tier

The claim is "no human approvals until store review", not "fully automatic to the App Store". Apple and Google review cannot be skipped, and a new personal Google Play account needs 12 testers for 14 days first. Starwisp ends at TestFlight and Play internal testing; you take it from there.

Updates

A public release feed drives an "Update available" banner. The Update button runs a workflow in your repo that downloads the release with your license and opens a pull request. Releases published after your update window ends are refused, with a Renew link. Your own settings, budgets, memory and ledger are never touched by an update.