Scenario
As Sprint 8 approached its final days, Priya M. created the Resurface launch checklist to coordinate the ship across engineering, design, growth, and data. The checklist was especially important because this was Brainshelf’s first email feature . DNS configuration, deliverability validation, and email compliance were all new operational territory for the team. The checklist was reviewed at the T-2 go/no-go meeting on February 12, 2026, and all blockers were cleared by February 14.
Source Notes:
Atul Gawande, “The Checklist Manifesto” (atulgawande.com/book/the-checklist-manifesto/) . the checklist methodology applied in this document; Gawande’s research on the effectiveness of pre-launch checklists in reducing errors in complex, multi-stakeholder processes directly motivated the structured format.
Intercom, “Shipping Is Your Company’s Heartbeat” (intercom.com/blog/shipping-is-your-companys-heartbeat/) . the product launch philosophy that informed the checklist’s scope; Intercom’s guidance on coordinating cross-functional readiness (engineering, design, marketing, support) rather than treating launch as an engineering-only event shaped the section structure.
M3AAWG, “Best Practices for Senders” (m3aawg.org/published-documents) . the email deliverability best practices referenced in the Legal & Compliance and Operations sections; the SPF/DKIM/DMARC configuration requirements and sender reputation guidelines are drawn from M3AAWG’s sender guidelines.
Prompt
resurface launch checklist. shipping at end of sprint 8 (feb 14-16).
this is our first email feature so dns, deliverability, and compliance
are all new for us. need the full checklist.
key stakeholders: priya (pm/launch owner), alex (eng), jess (eng),
dan (design), sam (frontend), chloe (data), jordan (growth),
go/no-go meeting: feb 12. launch window: feb 14-16 behind feature flag.
opt-in enrollment starts mar 2. a/b test starts mar 9.
Output
Launch Checklist: Resurface . Morning Email Digest
Launch Overview
Field Value What Resurface: daily email digest surfacing 3 - 5 saved items matched to recent reading interests Launch Date February 14 - 16, 2026 (behind feature flag) Launch Type Major Feature (Brainshelf’s first email feature) Launch Owner Priya M. Go/No-Go Decision Maker Marco S. (CEO)
Key Stakeholders
Role Name Contact Product Priya M. #resurface Slack channel Engineering (Backend) Alex R. #resurface Slack channel Engineering (Backend) Jess T. #resurface Slack channel Design Dan K. #resurface Slack channel Frontend Sam W. #resurface Slack channel Data / Analytics Chloe B. #resurface Slack channel Growth Jordan L. #resurface Slack channel
Engineering Readiness
Item Owner Due Status Notes [ ] Resend account created and API key stored in secrets manager Alex R. Feb 4 Developer plan ($20/mo) [fictional] [ ] DNS records configured: SPF, DKIM, DMARC for brainshelf.app Jess T. Feb 5 Verify propagation with MXToolbox before proceeding [ ] TF-IDF topic-matching algorithm implemented in TypeScript Alex R. Feb 7 Port from Python spike prototype [ ] Text extraction pipeline (Cheerio + OG fallback) complete Jess T. Feb 7 ~11% URL failure rate expected [fictional] [ ] Cron-based digest send pipeline implemented with timezone support Alex R. Feb 10 IANA timezone database; test DST transitions [ ] TF-IDF batch migration for existing saved items complete Alex R. Feb 12 ~460K items across 9,800 users [fictional] [ ] Opt-in flow backend (preferences API, dismiss logic) complete Jess T. Feb 10 [ ] Click redirect endpoint (/r/{digest_id}/{item_id}) implemented Jess T. Feb 10 Must respond in <200ms [fictional] [ ] Feature flag configured in Amplitude (resurface_enabled) Chloe B. Feb 12 50/50 split for A/B test [ ] Code review approved for all Resurface PRs Alex R. Feb 13
QA & Testing
Item Owner Due Status Notes [ ] Unit tests for TF-IDF scoring and item selection logic Alex R. Feb 10 Cover: threshold filtering, 14-day exclusion, empty centroid fallback [ ] Integration tests for digest send pipeline (end-to-end) Jess T. Feb 12 Include timezone edge cases: UTC+5:30, UTC+12, DST transition [ ] Integration tests for Resend API (send, webhook receipt) Jess T. Feb 12 Use Resend test mode; verify delivered/bounced/clicked webhook payloads [ ] Email rendering tested across Gmail, Apple Mail, Outlook, Yahoo Sam W. Feb 13 Use Litmus or Email on Acid for cross-client validation [ ] Mobile email rendering tested (iOS Mail, Gmail app, Android) Sam W. Feb 13 Text-only layout; primary concern is link tap target size [ ] Opt-in flow tested (home screen card + settings toggle) Sam W. Feb 12 Test: show/dismiss/re-show after 14 days, settings toggle sync [ ] Edge case test plan executed (from edge cases document) Jess T. Feb 13 All P1 scenarios must pass; P2 should pass [ ] Load test: simulate 1,000 concurrent digest sends [fictional] Alex R. Feb 12 Verify Resend rate limit handling (10 req/s) [fictional]
Design & UX
Item Owner Due Status Notes [ ] Digest email template (React Email) approved by Dan K. Dan K. Feb 10 Option B: structured text with metadata [ ] Opt-in card design approved and implemented Dan K. Feb 7 Home screen card + settings toggle [ ] Unsubscribe confirmation page designed Dan K. Feb 10 Simple branded page with re-enable link [ ] Cadence change confirmation page designed Dan K. Feb 10 Two variants: daily and 3x/week copy [ ] Error state copy finalized (bounce notification, opt-in errors) Dan K. Feb 12 See edge cases document for full copy [ ] Dark mode email rendering verified Sam W. Feb 13 Text-only layout; verify link color contrast
Marketing & Communications
Item Owner Due Status Notes [ ] Opt-in prompt copy finalized (“Get your best saves delivered every morning”) Jordan L. Feb 7 A/B test the opt-in copy is out of scope for v1; use the approved copy [ ] In-app changelog entry drafted for Resurface Jordan L. Feb 12 Published when feature flag is enabled for treatment group [ ] Twitter/X announcement drafted Jordan L. Mar 9 Tied to A/B test start, not code ship [ ] App store listing updated (if digest is mentioned) Jordan L. Mar 9 Deferred to A/B test start
Customer Support
Item Owner Due Status Notes [ ] FAQ drafted: “What is the Resurface digest?” Priya M. Feb 12 Cover: what it is, how to opt in, how to change cadence, how to unsubscribe [ ] Support team briefed on Resurface feature Priya M. Feb 13 15-minute walkthrough for the 2-person support team [ ] Canned responses prepared for common digest questions Priya M. Feb 13 ”I’m not receiving my digest” / “How do I change the time?” / “How do I unsubscribe?” [ ] Escalation path defined (support → Priya → Alex for technical issues) Priya M. Feb 12
Legal & Compliance
Item Owner Due Status Notes [ ] Email opt-in flow is explicit (not pre-checked) . CAN-SPAM and GDPR compliant Priya M. Feb 7 Opt-in requires affirmative user action [ ] List-Unsubscribe and List-Unsubscribe-Post headers included in all digest emails Jess T. Feb 10 RFC 8058 compliance for one-click unsubscribe [ ] Unsubscribe link present and functional in every digest email footer Sam W. Feb 12 One-click, no confirmation dialogs [ ] Privacy policy reviewed for email data processing disclosure Priya M. Feb 10 Confirm existing privacy policy covers transactional email; update if needed [ ] DMARC policy set to at least p=none for initial monitoring Jess T. Feb 5 Move to p=quarantine after 30 days of clean sending
Operations & Infrastructure
Item Owner Due Status Notes [ ] Resend sending domain verified and DNS propagated Jess T. Feb 6 Verify with MXToolbox; allow 24 - 48 hours for propagation [ ] Cron job deployed and scheduled in production (disabled until feature flag on) Alex R. Feb 14 Runs once per minute; processes users whose 7:30 AM local is within the current UTC minute [ ] Resend webhook endpoint deployed and receiving test events Jess T. Feb 12 Test with Resend’s webhook testing tool [ ] On-call rotation confirmed for launch window (Feb 14 - 16) Alex R. Feb 12 Alex R. primary, Jess T. secondary [ ] Alerting configured: digest send failure rate >5% [fictional] triggers PagerDuty Chloe B. Feb 12 Based on Resend webhook delivery events [ ] Seed list test: send 10 test digests to team members across Gmail, Outlook, Apple Mail Sam W. Feb 13 Verify inbox placement (not promotions tab)
Analytics & Monitoring
Item Owner Due Status Notes [ ] Amplitude events instrumented: opt_in, digest_sent, digest_opened, item_clicked, unsubscribe, cadence_changed, digest_skipped Chloe B. Feb 12 See instrumentation spec [ ] Resurface experiment dashboard created in Amplitude Chloe B. Feb 12 Primary: CTR; secondary: 7-day return rate; guardrail: unsubscribe rate [ ] Baseline metrics captured before A/B test start Chloe B. Mar 2 7-day return rate = 18% [fictional]; capture 2-week pre-test baseline [ ] Logging in place for digest pipeline: send success/failure, retry attempts, skip reasons Alex R. Feb 12 Structured JSON logs; queryable in Datadog [ ] Daily digest health report (automated): sends attempted, sends succeeded, sends failed, items served Chloe B. Feb 14 Slack notification to #resurface channel at 10:00 AM UTC
Go/No-Go Criteria
Must Have (Blockers)
Should Have
Nice to Have
Rollback Plan
Trigger Conditions
Digest send failure rate exceeds 10% for 2 consecutive hours [fictional]
Unsubscribe rate exceeds 5% per day [fictional] (2.5x the weekly guardrail)
User reports of digest emails landing in spam (confirmed by 3+ independent reports)
Critical bug discovered in the click redirect that prevents users from reaching articles
Rollback Steps
Disable the resurface_enabled feature flag in Amplitude (stops all digest sends immediately)
Post a message in #resurface Slack channel: “Resurface paused . [reason]. Investigating.”
If the issue is Resend-related, check Resend status page and open a support ticket
If the issue is code-related, identify the failing component and deploy a hotfix or revert the relevant PR
Re-enable the feature flag only after the root cause is resolved and the fix is verified in staging
Rollback Owner
Alex R. . #resurface Slack channel, PagerDuty on-call
Rollback Time Estimate
Feature flag disable: <1 minute. Hotfix deployment: ~30 minutes [fictional] (PR → review → merge → deploy).
Check-in Schedule
Checkpoint Date Attendees Sprint 8 mid-sprint check Feb 7, 2026 Priya, Alex, Jess, Sam, Dan T-2 go/no-go meeting Feb 12, 2026 All stakeholders + Marco (CEO) Launch day deploy Feb 14, 2026 Alex, Jess (deploying); Priya (monitoring) T+1 launch health review Feb 17, 2026 Priya, Alex, Chloe A/B test kickoff Mar 9, 2026 All stakeholders
Open Issues
Issue Owner Status Impact Amplitude experiment SDK integration not yet complete Chloe B. In progress (Sprint 7) Risk . if delayed, A/B variant assignment must be handled manually Privacy policy may need update for email data processing Priya M. Under review Risk . must be resolved before opt-in enrollment (Mar 2)