Shipping Features Is Not the Same as Shipping Releases

Indie teams often focus on coding speed and underinvest in release checks. Then approvals stall because metadata, legal pages, or screenshots drift from app behavior.

Step 1: Treat release assets as versioned artifacts

release_bundle:
  version: 2.3.0
  screenshots: ./artifacts/screenshots/
  legal_pages:
    - privacy-policy
    - terms
  changelog: ./CHANGELOG.md

Step 2: Add a pre-submit checklist script

#!/usr/bin/env bash
set -euo pipefail

[ -f "CHANGELOG.md" ] || exit 1
[ -d "artifacts/screenshots" ] || exit 1
[ -f "legal/privacy.html" ] || exit 1
[ -f "legal/terms.html" ] || exit 1

echo "release assets ready"

Step 3: Run post-release sanity checks

After approval, verify entitlement routes, onboarding flow, and analytics events in production.

Pitfalls

  • Updating code without updating screenshots.
  • Legal pages lagging behind product behavior.
  • No rollback plan when a hotfix is needed.

Verification

  • Release bundle is reproducible from the tagged commit.
  • Store metadata and UI copy match product behavior.
  • Critical flow checks pass within one hour of release.

Get New Tutorials by Email

No spam. Just clear, practical breakdowns you can apply right away.

Enjoy this tutorial?

Get new practical tech tutorials in your inbox.