Sign in

Create an account or log back in. Your session is kept in this browser only.

By creating an account you agree to the Terms and Privacy Policy.

Connect Play Console

Paste your service account key and package name. It's encrypted before it's stored.

Don't have one yet? Play Console > Setup > API access walks you through creating it.

Store listing

Describe the app in one line — the title, short description, and full description get drafted and pushed to Play Console.

Publish a build

Upload a signed .aab and choose a rollout track. Need a .aab? Publish your app in the Build tab, then use "Download Android project" there - it's a real Android project you build and sign yourself, which produces the .aab this panel uploads.

Google requires a new developer account to run closed testing with at least 12 testers for 14 continuous days before it gets production access - no tool can skip this, so plan for it from day one rather than discovering it at submission time. This creates the track and (if you give it a tester group) opts testers in; upload a build to it above once it exists, using the same track name in the Track field.

Use a name that isn't already one of your tracks. Play has no way for us to check whether an existing track is actually a closed-testing one, so reusing the name of a track you already have (including the defaults "internal", "alpha", "beta", "production", which this refuses) would attach your tester group to whatever that track already is.
Play's API only accepts a Google Group as a track's tester list - not individual email addresses. Don't have one? Create a free group at groups.google.com, add your testers' emails to it, and paste the group's own address here. You can also skip this and add testers by email directly in Play Console afterward.

Billing products

Create a one-time in-app product or a subscription. Requires a linked payments profile in Play Console first.

Type: "one-time" or "subscription"

Build an app from an idea

Describe an app, get a live preview, revise it, then optionally publish it to a free Firebase Hosting URL. Each generation or revision costs 1 credit - no Firebase connection needed until you're ready to publish.

Firebase Hosting

Only needed when you're ready to publish an app live - you can generate and preview apps without it. Connect a Firebase project once, three steps, about five minutes the first time.

  1. Create a Firebase project (skip this if you already have one) - open the Firebase console and click Add project. Once it's created, copy the project ID shown under the project name into the field below.
  2. Generate a service account key - after entering the project ID below, use the link that appears here to jump straight to the right settings page, then click Generate new private key. That downloads a JSON file.
  3. Paste that file's contents below and connect.

Plan & credits

Your playship subscription and generation credit balance. Distinct from the "Billing" tab, which manages in-app products for your own published app.

Loading...
Same $19/mo Pro plan, purchased through the CLI's checkout - this links it to your dashboard account so your monthly Build credits show up here too.

AI generation cost

Real Claude API spend across all users, measured from each call's actual token usage - not estimated. Useful for checking whether the $19/mo · 100 credits pricing still makes sense.

Loading...

Marketing

First-party pageview counts for playship.dev, grouped by where traffic came from (utm_source/utm_campaign on the link). No third-party analytics - just what the marketing site's own beacon logs. A blank source means a direct or organic visit with no UTM tag.

Loading...
Credentials are encrypted at rest (AES-256-GCM) before being stored. Sessions are JWTs kept in this browser's local storage — logging out on a shared device means clearing it manually for now.