Inspiration

I’m a developer. I can build apps. What I don’t know — and what a lot of us don’t either — is how to design the marketing assets the App Store expects before you ship.

Every launch ended the same way: the app worked, and then came the part that slowed me down most. What’s Apple’s exact size? How do I make a slide look store-ready instead of a raw capture? What if the listing needs multiple languages? How do I upload everything to App Store Connect without breaking a set that’s already full?

I spent hours on a process that isn’t coding… and isn’t my craft. Screenshots are the first thing people see on a listing, but for many indies they’re the last improvised obstacle.

CaptoStudio came from that frustration: a studio built by and for developers who need App Store slides ready — without becoming designers overnight.

One job:

real screenshots from my app → store-ready slides on Apple’s exact sizes → localize → export or upload to App Store Connect.

What it does

CaptoStudio is a native iOS App Store screenshot studio.

  • Compose multi-page marketing slides (1–10) on exact App Store sizes (iPhone 6.9″ / iPad 13″)
  • Device bezels, backgrounds, typography, symbols, shapes, pop-out, blur, masks
  • Start from curated template packs or from scratch with Photos
  • Per-locale documents: shared screenshots, copy/layout that can differ by language
  • Linked iPhone + iPad project families (one Home card, one export story)
  • Export ZIPs and portable .captudio packages
  • Upload to App Store Connect with replace semantics and real progress
  • Showcase share layouts (Filmstrip / Story / Grid) for social — Story uses ASC brand + official badge when connected
  • Capto Pro: multi-locale packaging, ASC upload, templates, iCloud backup; Free keeps editing + single-locale export with a ❤️ CaptoStudio watermark

Out of scope on purpose: other stores, general-purpose design suites, cloud multiplayer. One sharp job.

How we built it

  • UIKit, programmatic UI
  • Canvas / documents on exact CSStoreDisplayClass artboards
  • Locales as first-class citizens; iPhone/iPad as linked families
  • Export pipeline separated from ASC networking (ZIP ≠ upload)
  • ASC credentials in Keychain only
  • RevenueCat / StoreKit for Capto Pro; Sentry + memory defenses for ship prep
  • Built in public from day-one changelog notes

Challenges we ran into

  1. Exact pixels or nothing — a rejected asset burns a launch.
  2. iPhone vs iPad geometry — same feature, different aspects; don’t “fix” a wide tablet banner by stacking slides.
  3. Families, not forks — one listing mental model in Home, package, and publish.
  4. ASC upload trust — replace-full-set semantics and real progress > a clever button.
  5. Free vs Pro — Free must feel like a real studio; Pro unlocks publish/packaging.
  6. Scope — saying no to the wrong approach so we could ship the right surface (Showcase Story).

Accomplishments that we're proud of

  • A coherent job-to-be-done product, not a pile of tools
  • End-to-end path: Photos → canvas → locales → ZIP / ASC
  • iPhone + iPad as one family
  • Showcase Story with real ASC branding when connected
  • Build-in-public discipline with a changelog as source of truth
  • Speaking to developers who “don’t know design” — without asking them to learn a whole second craft

What we learned

  • The pain isn’t “making art” — it’s pipeline integrity (size, locale, device family, upload).
  • Developers need guardrails (Apple sizes, packs, clear publish), not another infinite blank canvas.
  • Native UIKit wins when the product is an iOS craft tool.
  • Trust in publish flows beats another effect slider.
  • Scope is a feature.

What's next

  • TestFlight / App Store 1.0 polish
  • Grow CaptoStudio in public (distribution + community, not only features)
  • More display classes as Apple’s catalog grows
  • Deeper listing workflows without becoming a general design suite

Built with

Swift · UIKit · SwiftData · StoreKit · RevenueCat · Sentry · App Store Connect API

Built With

  • appstoreconnectapi
  • ios
  • keychain
  • pencilkit
  • photos
  • revenuecat
  • sentry
  • swift
  • swiftdata
  • uikit
Share this project:

Updates

Submission history