screenstack_sdk · v3.1 on pub.dev

Flutter App Store screenshots,
automated.

Add screenstack_sdk to your Flutter project, declare your screens in screenstack.yml, and ScreenStack composites them at every App Store and Play Store size on every CI run — inside real device frames, with your brand backdrops and captions.

10
Apple + Google sizes
1
screenstack.yml
0
native plumbing
~30s
per capture run

Pixel-perfect for the store.

ScreenStack

● captured by @voostack/screenstack-sdk against this very site

two files · one screenstack.yml

Three lines in your flight.yml.

If your Flutter project already runs on FlightStack, wiring ScreenStack takes one block. If it doesn't, the SDK runs equally well on GitHub Actions, GitLab CI, or any container.

1
add the package

screenstack_sdk on pub.dev

One dependency. Flutter 3.16+ on iOS, Android, and Web. Uses the standard integration_test harness — no native plumbing.

pubspec.yaml
# pubspec.yaml
dev_dependencies:
  screenstack_sdk: ^3.1.0
  integration_test:
    sdk: flutter
2
declare your screens

screenstack.yml at the root

One block per screen. Device profiles + test users are resolved at run time from your CI environment — credentials never live in the file.

screenstack.yml
project: prj_abc123
deviceProfile: iphone-15-pro-max
testUser:
  secretRef: ssr_xxx
screens:
  - route: /home
    targets: ["iOS/Home", "Play/Home"]
  - route: /dashboard
    targets: ["iOS/Dashboard"]
before · after

The Flutter screenshot workflow, collapsed.

Same five tasks, two workflows. One eats an afternoon of every release; the other runs while you push.

  • Capture every screen
    Boot the simulator, navigate, ⌘⇧4
    integration_test driver hits each declared route
  • Resize for every store size
    Open Figma, paste, crop ×10
    One export, every size at native pixel density
  • Update after a UI change
    Rinse + repeat the whole flow
    Next CI run refreshes automatically
  • Keep marketing site in sync
    Manual copy-paste, screenshots drift
    Web Capture grabs the same screens at desktop sizes
  • Test user credentials
    Hardcoded in screenshots.dart, leaked
    Encrypted at rest, fetched at run time
device catalog

Every store size, every Flutter target.

Composite once in the editor, export every Apple- and Google-required size at native pixel density.

6.7″ iPhone

1290 × 2796

iPhone 16 Pro Max, 15 Pro Max

6.5″ iPhone

1242 × 2688

iPhone 11 Pro Max, XS Max

5.5″ iPhone

1242 × 2208

iPhone 8 Plus

iPad Pro 12.9″

2048 × 2732

Required for iPad apps

iPad Pro 11″

1668 × 2388

Mid-tier iPad slot

Play Store

1080 × 1920

Tablets at 1200 × 1920

Full reference of every supported dimension on /screenshot-sizes.

flutter-native

Built for Flutter teams, not retrofitted.

No new test code

The SDK piggybacks on your existing integration tests. If you can tap a button in a widget test, you can declare a screen target.

Dart + JS, one canvas

If your project has a Flutter app and a marketing site, both SDKs feed the same editor project. Web Capture keeps the landing in sync with prod.

FlightStack-native

The flightstack/screen-stack job handles secret distribution + run scheduling. One config block, no boilerplate.

free · no credit card

Automate your Flutter screenshots tonight.

Free tier includes every store size and 5 exports a month. Wire the SDK in once and your store assets refresh on every CD run, forever.