A release manager for App Store submissions, in SwiftUI. Multiple apps, versioned releases, checklists with blocking tasks, and a Markdown brief for whoever asks "where is 2.1 stuck?".
I shipped enough releases to know the failure mode isn't forgetting that there's a checklist — it's checking items off in your head. So this app is opinionated about one thing: critical tasks physically block the ship button. Forgetting the launch tweet is sad; forgetting the privacy manifest is a rejection. The app knows the difference.
- Apps → releases → tasks. Track every app you ship, each with its release history and one release in flight.
- Three built-in checklists — Full release (18 tasks), Hotfix (5), First submission (11) — written from actual App Store Connect experience, including the traps ("first two lines of what's-new show without tapping more", "no spaces after commas in keywords").
- Blocking tasks. Ship button stays locked until every critical task is done. Non-critical tasks affect the readiness %, not the gate.
- Semantic version suggestions. After 1.4.2 it offers 1.4.3 / 1.5.0 / 2.0.0. The parser normalizes "2.0" → "2.0.0" and rejects garbage.
- Target dates with a days-left / days-late countdown.
- Release brief export — Markdown, blockers listed first.
- SwiftData persistence, cascade deletes, demo data on first launch.
Sources/LaunchDeck/
├── Models/ Product, Release, ReleaseTask + readiness rules
├── Services/ Version (semver), checklists, brief exporter, samples
└── Views/ Product list, product detail, release detail,
new-release sheet, brief sheet, theme
Tests/ Version parsing/bumping, gating logic, brief (13 tests)
The gating logic (canShip, blockers) lives on the model and is unit
tested — that's the invariant the whole app exists for.
iOS 17 / macOS 14. swift test runs the logic tests. Open the package in
Xcode for previews, or copy Sources/LaunchDeck/ into an app target and
add @main to LaunchDeckApp.
- Checklists are code, not user-editable — by design for my use, but a custom-checklist editor would be the obvious next feature.
- No App Store Connect API integration. It's a checklist, not a robot.
MIT license.