Let's connect →

    Why Cody1StoreKit exists — and building it with Cursor

    A free, local App Store asset tool for indie developers, born from Cody1’s own shipping needs — built in a few hours with Cursor and voice dictation.

    • Cody1StoreKit
    • App Store
    • Open source
    • Cursor

    Every Cody1 app needs App Store screenshots: correct dimensions, readable headlines, and frames that feel on-brand. Subscription design tools are fine for some teams, but they often push synthetic app UI — and that is not something I want on the store for real products.

    Cody1StoreKit is our answer: a local-first, MIT-licensed generator that only composites genuine captures from the simulator or a device. Placeholders exist for layout work in dev, but production export refuses them. Config, locale copy, and raw screenshots live in plain folders under apps/<id>/, so you can version them, back them up, and run the same pipeline from the UI or the CLI.

    Why it is free

    I ship a lot of small apps and games. Polished store pages should not be gated behind another monthly fee or a cloud upload of unreleased builds. Making StoreKit open source means:

    • Indie devs can adopt the same workflow Cody1 uses.
    • No lock-in — your assets stay on disk; the tool runs offline after npm install.
    • Improvements welcome on GitHub — templates, presets, and validation rules benefit everyone who forks it.

    How to use it

    1. Clone the repo (or grab a macOS build from Releases).
    2. Add an app in the UI, upload screenshots per screen, tune copy and layout.
    3. Validate, then Generate All for App Store Connect–sized PNGs.

    The project page links the portfolio entry; the README documents every control in the browser and desktop UI.

    Built with Cursor — quickly

    Almost all of this was built in Cursor, largely by speaking requirements instead of typing long specs — the same way I work on this site with dictation tools. Active coding time was only about two to three hours in total, spread over a couple of days (fits around other work, not a single marathon).

    That pace is not magic: it is a tight scope (local tool, deterministic renderer, no hosted backend), good defaults from Sharp and TypeScript, and an agent that can apply multi-file changes in one pass. The result is a tool I actually use for Cody1 releases — and now anyone can use or extend it.

    If you try it, open an issue or PR on the repo. I am especially interested in more templates and smoother capture from Xcode when that lands.