Numbers first: an average listing needs
- screenshots at four or five different pixel sizes per store
- one icon rendered in eight-plus dimensions
- a permission list that can run past a dozen entries for anything touching contacts or location
- one privacy questionnaire with dozens of yes/no branches that determines whether a reviewer bounces your app on day one
Multiply that by three stores — Play, the App Store, Firefox's add-on listing if you're shipping an extension — and you're looking at three afternoons of screenshot-cropping and form-filling for an app you already finished building. That's the boring number.
Every store-bound build gets a listing kit, generated automatically, and it's built to close that specific gap — the one between what a developer intends an app to do and what the compiled binary actually does.
The rest of the kit is the easy part
- Screenshots come from the running app itself, not mockups — composed, sized to each store's spec, captioned where the format calls for panels.
- Icons render out to the full size family each store wants, plus whatever promotional or feature graphics that store demands on top.
- Listing copy — title, short description, full description — gets written from what the app actually does, which sounds obvious until you've read enough App Store listings that are just adjectives stacked on adjectives.
- Permission justifications get generated per-permission, in whatever format the store expects them in.
None of this is hard, exactly. It's just tedious enough that people skip it, or do it fast and wrong.
Where it gets strict: the privacy questionnaire
Here's the part that's easy to get wrong even with good intentions. You build an app, you're pretty sure it doesn't collect anything, you check "no data collected" on the questionnaire and move on. Except you bundled a crash-reporting SDK three weeks ago and forgot, or an analytics call snuck in through a dependency update. Now your listing says one thing and your binary does another — which is either an accidental lie to your users or a fast way to get flagged in review, and neither is a good outcome.
So the kit doesn't take your word for it. It scans the app's actual source before answering: a "collects no data" claim only gets made when the code makes no network calls and bundles no analytics. If the app does phone home, the declaration says so — accurately, whether that's flattering or not. We'd rather the listing be honest than generous to itself. It's also, not coincidentally, the version that survives review, because reviewers check the same thing the scan checks.
Filled in, not just filed
Where a store exposes an API, the kit pushes the listing directly, no human in the loop. Where a store insists on its own console, the kit automates the form-filling and leaves you just the handful of clicks the store reserves for a human to click.
| Store | How the kit ships it |
|---|---|
| Firefox (add-ons) | Fully automated, hands-off — images, copy, declarations pushed via API |
| Google Play | Automated form-filling; you click the final store-reserved confirmations |
| Chrome Web Store | Automated form-filling; you click the final store-reserved confirmations |
The full per-store breakdown is in From prompt to app store.



