Skip to content

Deliver Launch Checklist: Brainshelf Resurface

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

/launch-checklist
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),
marco (ceo, go/no-go).
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

FieldValue
WhatResurface: daily email digest surfacing 3 - 5 saved items matched to recent reading interests
Launch DateFebruary 14 - 16, 2026 (behind feature flag)
Launch TypeMajor Feature (Brainshelf’s first email feature)
Launch OwnerPriya M.
Go/No-Go Decision MakerMarco S. (CEO)

Key Stakeholders

RoleNameContact
ProductPriya M.#resurface Slack channel
Engineering (Backend)Alex R.#resurface Slack channel
Engineering (Backend)Jess T.#resurface Slack channel
DesignDan K.#resurface Slack channel
FrontendSam W.#resurface Slack channel
Data / AnalyticsChloe B.#resurface Slack channel
GrowthJordan L.#resurface Slack channel

Engineering Readiness

ItemOwnerDueStatusNotes
[ ] Resend account created and API key stored in secrets managerAlex R.Feb 4Developer plan ($20/mo) [fictional]
[ ] DNS records configured: SPF, DKIM, DMARC for brainshelf.appJess T.Feb 5Verify propagation with MXToolbox before proceeding
[ ] TF-IDF topic-matching algorithm implemented in TypeScriptAlex R.Feb 7Port from Python spike prototype
[ ] Text extraction pipeline (Cheerio + OG fallback) completeJess T.Feb 7~11% URL failure rate expected [fictional]
[ ] Cron-based digest send pipeline implemented with timezone supportAlex R.Feb 10IANA timezone database; test DST transitions
[ ] TF-IDF batch migration for existing saved items completeAlex R.Feb 12~460K items across 9,800 users [fictional]
[ ] Opt-in flow backend (preferences API, dismiss logic) completeJess T.Feb 10
[ ] Click redirect endpoint (/r/{digest_id}/{item_id}) implementedJess T.Feb 10Must respond in <200ms [fictional]
[ ] Feature flag configured in Amplitude (resurface_enabled)Chloe B.Feb 1250/50 split for A/B test
[ ] Code review approved for all Resurface PRsAlex R.Feb 13

QA & Testing

ItemOwnerDueStatusNotes
[ ] Unit tests for TF-IDF scoring and item selection logicAlex R.Feb 10Cover: threshold filtering, 14-day exclusion, empty centroid fallback
[ ] Integration tests for digest send pipeline (end-to-end)Jess T.Feb 12Include timezone edge cases: UTC+5:30, UTC+12, DST transition
[ ] Integration tests for Resend API (send, webhook receipt)Jess T.Feb 12Use Resend test mode; verify delivered/bounced/clicked webhook payloads
[ ] Email rendering tested across Gmail, Apple Mail, Outlook, YahooSam W.Feb 13Use Litmus or Email on Acid for cross-client validation
[ ] Mobile email rendering tested (iOS Mail, Gmail app, Android)Sam W.Feb 13Text-only layout; primary concern is link tap target size
[ ] Opt-in flow tested (home screen card + settings toggle)Sam W.Feb 12Test: show/dismiss/re-show after 14 days, settings toggle sync
[ ] Edge case test plan executed (from edge cases document)Jess T.Feb 13All P1 scenarios must pass; P2 should pass
[ ] Load test: simulate 1,000 concurrent digest sends [fictional]Alex R.Feb 12Verify Resend rate limit handling (10 req/s) [fictional]

Design & UX

ItemOwnerDueStatusNotes
[ ] Digest email template (React Email) approved by Dan K.Dan K.Feb 10Option B: structured text with metadata
[ ] Opt-in card design approved and implementedDan K.Feb 7Home screen card + settings toggle
[ ] Unsubscribe confirmation page designedDan K.Feb 10Simple branded page with re-enable link
[ ] Cadence change confirmation page designedDan K.Feb 10Two variants: daily and 3x/week copy
[ ] Error state copy finalized (bounce notification, opt-in errors)Dan K.Feb 12See edge cases document for full copy
[ ] Dark mode email rendering verifiedSam W.Feb 13Text-only layout; verify link color contrast

Marketing & Communications

ItemOwnerDueStatusNotes
[ ] Opt-in prompt copy finalized (“Get your best saves delivered every morning”)Jordan L.Feb 7A/B test the opt-in copy is out of scope for v1; use the approved copy
[ ] In-app changelog entry drafted for ResurfaceJordan L.Feb 12Published when feature flag is enabled for treatment group
[ ] Twitter/X announcement draftedJordan L.Mar 9Tied to A/B test start, not code ship
[ ] App store listing updated (if digest is mentioned)Jordan L.Mar 9Deferred to A/B test start

Customer Support

ItemOwnerDueStatusNotes
[ ] FAQ drafted: “What is the Resurface digest?”Priya M.Feb 12Cover: what it is, how to opt in, how to change cadence, how to unsubscribe
[ ] Support team briefed on Resurface featurePriya M.Feb 1315-minute walkthrough for the 2-person support team
[ ] Canned responses prepared for common digest questionsPriya 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
ItemOwnerDueStatusNotes
[ ] Email opt-in flow is explicit (not pre-checked) . CAN-SPAM and GDPR compliantPriya M.Feb 7Opt-in requires affirmative user action
[ ] List-Unsubscribe and List-Unsubscribe-Post headers included in all digest emailsJess T.Feb 10RFC 8058 compliance for one-click unsubscribe
[ ] Unsubscribe link present and functional in every digest email footerSam W.Feb 12One-click, no confirmation dialogs
[ ] Privacy policy reviewed for email data processing disclosurePriya M.Feb 10Confirm existing privacy policy covers transactional email; update if needed
[ ] DMARC policy set to at least p=none for initial monitoringJess T.Feb 5Move to p=quarantine after 30 days of clean sending

Operations & Infrastructure

ItemOwnerDueStatusNotes
[ ] Resend sending domain verified and DNS propagatedJess T.Feb 6Verify with MXToolbox; allow 24 - 48 hours for propagation
[ ] Cron job deployed and scheduled in production (disabled until feature flag on)Alex R.Feb 14Runs once per minute; processes users whose 7:30 AM local is within the current UTC minute
[ ] Resend webhook endpoint deployed and receiving test eventsJess T.Feb 12Test with Resend’s webhook testing tool
[ ] On-call rotation confirmed for launch window (Feb 14 - 16)Alex R.Feb 12Alex R. primary, Jess T. secondary
[ ] Alerting configured: digest send failure rate >5% [fictional] triggers PagerDutyChloe B.Feb 12Based on Resend webhook delivery events
[ ] Seed list test: send 10 test digests to team members across Gmail, Outlook, Apple MailSam W.Feb 13Verify inbox placement (not promotions tab)

Analytics & Monitoring

ItemOwnerDueStatusNotes
[ ] Amplitude events instrumented: opt_in, digest_sent, digest_opened, item_clicked, unsubscribe, cadence_changed, digest_skippedChloe B.Feb 12See instrumentation spec
[ ] Resurface experiment dashboard created in AmplitudeChloe B.Feb 12Primary: CTR; secondary: 7-day return rate; guardrail: unsubscribe rate
[ ] Baseline metrics captured before A/B test startChloe B.Mar 27-day return rate = 18% [fictional]; capture 2-week pre-test baseline
[ ] Logging in place for digest pipeline: send success/failure, retry attempts, skip reasonsAlex R.Feb 12Structured JSON logs; queryable in Datadog
[ ] Daily digest health report (automated): sends attempted, sends succeeded, sends failed, items servedChloe B.Feb 14Slack notification to #resurface channel at 10:00 AM UTC

Go/No-Go Criteria

Must Have (Blockers)

  • DNS records (SPF, DKIM, DMARC) verified and propagated
  • Digest send pipeline passes end-to-end integration tests (send → deliver → click → event recorded)
  • All P1 edge case test scenarios pass
  • Email renders correctly in Gmail (web + mobile), Apple Mail, and Outlook
  • Unsubscribe flow works end-to-end (one-click from email → digest disabled → confirmation page)
  • Amplitude experiment events are firing correctly in staging
  • On-call rotation confirmed for launch window

Should Have

  • Seed list test confirms inbox placement (not promotions tab) for Gmail
  • Load test confirms system handles 1,000 concurrent sends [fictional] without errors
  • Dark mode rendering verified across major clients

Nice to Have

  • FAQ and canned support responses published before launch
  • Twitter/X announcement copy approved

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

  1. Disable the resurface_enabled feature flag in Amplitude (stops all digest sends immediately)
  2. Post a message in #resurface Slack channel: “Resurface paused . [reason]. Investigating.”
  3. If the issue is Resend-related, check Resend status page and open a support ticket
  4. If the issue is code-related, identify the failing component and deploy a hotfix or revert the relevant PR
  5. 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

CheckpointDateAttendees
Sprint 8 mid-sprint checkFeb 7, 2026Priya, Alex, Jess, Sam, Dan
T-2 go/no-go meetingFeb 12, 2026All stakeholders + Marco (CEO)
Launch day deployFeb 14, 2026Alex, Jess (deploying); Priya (monitoring)
T+1 launch health reviewFeb 17, 2026Priya, Alex, Chloe
A/B test kickoffMar 9, 2026All stakeholders

Open Issues

IssueOwnerStatusImpact
Amplitude experiment SDK integration not yet completeChloe B.In progress (Sprint 7)Risk . if delayed, A/B variant assignment must be handled manually
Privacy policy may need update for email data processingPriya M.Under reviewRisk . must be resolved before opt-in enrollment (Mar 2)