Phased Implementation & Rollout Checklist
Prepared 18 July 2026 · product requirements normalized from the placement artifact, current implementation status, and founder requirements
Do not enable client gates before backend enforcement, usage visibility, and legacy-user grandfathering are ready. The store can sell access only after webhook projection and entitlement recovery are proven end to end.
Phase 0 — Product lock
- Approve the Master PRD and resolve all highlighted assumptions.
- Record the confirmed weekly recurring-generation contract: Free 1, Plus trial 1 total, Plus 2, Pro 5.
- Confirm 45 Free Explore minutes/week and one-week rollover cap.
- Record the confirmed Free one-time reset of 3 credits per 3 days; confirm paid monthly and file weekly rollover caps.
- Approve standard prices, discount reference price/duration, trial products, countries, and renewal terms.
- Approve grandfather cohort, plan, start/end, permanent-access policy, and exclusions.
- Approve nudge frequency caps and copy ownership.
Exit: signed monetization ADR/product contract.
Phase 1 — Foundation merge and environment readiness
- Merge/rebase backend billing, iOS billing, and admin grant branches onto active integration branches.
- Apply billing migrations in staging/dev through normal deployment, not hand-copy only.
- Set separate RevenueCat webhook secrets and keys for dev/prod.
- Verify bundle/build configurations cannot ship a dev API base URL to App Store.
- Make new billing access canonical and inventory every legacy tier consumer.
- Upload existing Beta build to TestFlight or cut a fresh build after branch integration.
Exit: all three apps build/deploy from reproducible branches and environments.
Phase 2 — App Store and RevenueCat catalog
- Finalize products, service levels, localizations, pricing, 3-day trial, rescue products/offers, and win-back plan.
- Import products to RevenueCat; attach Plus/Pro entitlements.
- Create standard, 50%, and 65% offerings and paywalls.
- Create placement mapping and eligibility-aware paywall rules.
- Verify one App Store subscription group, Pro/Plus service levels, product-change paths, and the chosen native/RevenueCat management surface.
- Enable webhook lifecycle and paywall UI events.
- Verify one sandbox purchase reaches dev backend and unlocks access.
Exit: store catalog and RevenueCat dashboard are production-review ready.
Phase 3 — Backend database, quota, and enforcement
- Add access phase/trial fields, plan versions, usage accounts/ledgers, offer state, exposure records, and grandfather batches.
- Implement recurring, one-time, Explore-seconds, and file-upload meters with rollover.
- Add reserve/finalize/release flows and structured denial responses.
- Enforce generation, scheduling, files, transcript, remix, speed policy, soundscape catalogs, Pro sources/export, and Explore playback.
- Run usage in observe-only mode and reconcile against real activity.
- Add alerts, sweeper/reconciliation, and entitlement mismatch dashboards.
Exit: API clients cannot exceed any approved plan rule.
Phase 4 — iOS plan and placement completion
- Update models/copy to approved Free/Plus/Pro plan definitions and trial profile.
- Wire all full-page and sheet placements to live navigation, including ContentDetailView.
- Add transcript, speed, soundscape, Explore-time, and file-size gates.
- Implement offer-stage coordinator and one-exit-offer-per-presentation flow.
- Implement pending-action resume and deduplicate simultaneous denials.
- Implement trial reminder and the separate iOS Subscription Management IPRD: Plan & Billing status, change/manage, restore, pending changes, and post-sheet refresh.
- Add jump-notification surfaces with server exposure commits/frequency caps.
- Complete accessibility, localization, analytics, screenshot harness, and UI tests.
Exit: TestFlight build passes every tier/placement/offer state.
Phase 5 — Admin grandfathering and operations
- Merge current single-user grant console.
- Add backend-enforced billing roles and remove dependence on only shared admin secret.
- Add cohort builder, dry-run, approval, batch apply, progress, export, and campaign revoke.
- Run the approved legacy cohort dry run and get product/support approval.
- Apply grants before enabling production gates; verify samples and audit totals.
- Prepare support playbooks for restore, trial, offer, grant, refund, and entitlement mismatch.
Exit: eligible old users have verified access and operators can explain/manage it.
Phase 6 — QA and release
- StoreKit local matrix for all products, trials, offers, renewals, expiries, refunds, upgrades, downgrades, crossgrades, cancellations, restores, and transfers.
- RevenueCat sandbox and webhook replay/out-of-order/idempotency tests.
- Backend concurrency, rollover boundary, timezone, and failure-release tests.
- iOS device/locale/accessibility/offline/delayed-activation tests.
- Internal TestFlight → staff cohort → 5% → 25% → 100% server-flag ramp.
- Keep per-capability kill switches and the ability to suppress every paywall placement remotely.
- Monitor activation latency, mismatch rate, crashes, refunds, conversion, nudge opt-outs, and support tickets.
Exit: stable full rollout with rollback path exercised.
Phase 7 — Experimentation after stability
- Do not A/B trial length, price, and paywall design simultaneously.
- Experiment first on standard paywall design/copy, then trial, then rescue eligibility/duration.
- Use RevenueCat Experiments/Targeting only with identified users and current offerings.
- Judge by realized LTV and refund/retention, not initial conversion alone.
- Review the 65% stage after enough traffic; remove it if it trains users to dismiss or harms trust.
Suggested ownership matrix
| Workstream | DRI | Required reviewers |
|---|---|---|
| Plan contract/pricing | Product | Finance, Growth, Engineering |
| App Store/RevenueCat | iOS/Billing owner | Product, Backend, QA |
| Entitlements/quotas | Backend | iOS, Data, Security |
| Paywalls/gates | iOS | Design, Product, Accessibility |
| Grandfathering | Admin/Backend | Product, Support, Security |
| Analytics/experiments | Data/Growth | Product, Engineering |
| Release decision | Product + Engineering | Support, QA, Finance |
Go-live blockers
- Production webhook secret and endpoint verified with real sandbox/TestFlight event.
- Backend usage and denials are authoritative, not placeholder zeros.
- Trial, price, savings, and renewal terms match App Store payment sheet.
- Grandfather cohort applied and audited.
- Restore/refund/expiry/transfer paths tested.
- Server kill switches and incident playbook ready.
- No legacy tier consumer can contradict canonical billing access.