Reverze vs DIY: I Tried Building My Own Screenshot Pipeline. Don't.
I tried to automate my App Store screenshots with Fastlane instead of buying a tool. Here's what building the pipeline actually cost β and where fastlane screenshots stop and creative starts.

I'm an engineer, so when App Store screenshots became a chore, my first instinct was not to buy a tool. It was to build the pipeline. Automate it. Own it. How hard could it be β capture screenshots in CI, frame them, ship them? That's a Saturday.
It was not a Saturday. This is the honest post-mortem of trying to automate app store screenshots myself with the standard developer stack, why the weekend became several, and the one distinction that finally made me stop: the difference between capturing screenshots and designing them. If you're an engineer eyeing a DIY pipeline, read this before you open a new repo.
What the DIY pipeline actually is
For iOS, the well-trodden path is Fastlane, and it's genuinely good software:
fastlane snapshotruns a UI test that drives your app on the simulator and captures fastlane screenshots automatically β across every device size and every locale you configure.fastlane frameitwraps those raw captures in device frames and adds a caption and background from a template.fastlane deliveruploads the finished set to App Store Connect.
Wire those into a CI job and, on paper, you get localized, every-size screenshots on every release with zero manual work. Clean architecture. I was excited. This is exactly the kind of thing engineers love to build instead of doing the actual task.
Where the weekend went
Here's the reality the tutorials skip:
- You have to write and maintain UI tests.
snapshotworks by running UITests that navigate to each screen and callsnapshot("01Home"). That's real test code you now own β and it breaks when your UI changes, which is constantly. - The simulator is flaky. Screens don't load in time, animations aren't settled, a locale renders differently, a test that passed yesterday fails today. Multiply by every device Γ every language and the matrix is enormous.
frameitis templating, not design. You get a device frame, a background, and a caption in a font β configured through aFramefile.jsonand text files. Getting it to look marketing-grade means fighting fonts, offsets, and backgrounds by hand. It is not a design tool; it's a framing script.- CI minutes and time. Rendering the full matrix takes real compute and real wall-clock time on every run.
- Every OS update can break it. New simulator, new screen size, new quirk β and you're back in the pipeline instead of in your product.
I built the thing. It worked. And then I spent more time maintaining my screenshot pipeline than I'd ever spent making screenshots by hand. I'd automated the wrong problem.
The distinction that ended it
Here's the realization, and it's the whole post: fastlane snapshot automates capturing your app's UI. It does not design your marketing screenshots. Those are two completely different jobs.
Capturing a clean shot of your Home screen in 8 languages? Fastlane nails that. But an App Store screenshot isn't a raw UI capture β it's creative: a benefit-led headline, a considered layout, a background system, proof, a first frame that sells. frameit slaps a frame and a caption on the raw capture; it doesn't make the creative decisions that actually drive installs. I'd built a machine that automated the easy 20% (grab the pixels) and left the hard, valuable 80% (make them convert) exactly as manual as before β now with a CI pipeline to babysit on top.
Build vs buy: the maintenance tax nobody prices in
The seductive lie of "just build it" is that you price the building and ignore the owning. A DIY screenshot pipeline is a small internal product: UI tests, CI config, frame templates, and a standing obligation to fix it forever, for a job that isn't your business. Every hour on the pipeline is an hour not on the app. For a solo dev or small team, that's the most expensive kind of "free."
What I do instead
I kept the part Fastlane is genuinely good at where I need it β deterministic UI capture in CI is a real use case β and I stopped hand-owning the creative. Now the creative production is a paste, not a pipeline: I drop my App Store URL into Reverze and it rebuilds the whole marketing set β every size, every language, real layouts and copy, not framed raw captures β in about the time a frameit run takes to configure. I walked through that end-to-end in URL to finished campaign in 4 minutes. The pixels were never the hard part; the design was, and that's the part I stopped building.
So should you ever DIY it?
Honest answer:
- Use Fastlane if you specifically need raw, device-framed UI captures generated deterministically in CI β for QA, documentation, or a very template-driven listing you'll never art-direct. It's the right tool for that.
- Don't build a pipeline to produce marketing creative. That's not a CI problem, and treating it like one is how you spend a month automating something a tool does in minutes β and inherit the maintenance forever.
The engineer's instinct to build is a good instinct pointed at the wrong target here. Automate the capture if you must. Don't build the design. I did, and the only thing my beautiful pipeline reliably produced was more pipeline to maintain.
Don't build it. Paste the URL and go back to shipping your app β the faster way was never a repo.
Reverze turns App Store creative production from a multi-day (or multi-weekend) build into minutes β paste a URL, rebuild your screenshots, and export production-ready assets. Start in the app or explore the free tools.