DP Launch Checklist
This checklist captures the current hardening guidance for large public DP campaigns.
1. Analytics pipeline
- Public DP pages should write funnel events through the DP campaign layer.
- Avoid duplicate analytics writes into legacy tables.
- Avoid hot-row metadata increments on every viewer event.
2. Export flow
- User downloads should start immediately.
- Background sync work should run after export has been triggered.
- Retries should use short backoff for transient provider failures.
3. Live stats load control
- Do not subscribe every public viewer to reactive stats.
- Prefer cached route-level stats responses.
- Keep polling intervals conservative.
4. Rendering and metadata pressure
- Avoid forcing dynamic rendering globally when targeted caching will do.
- Cache hot SEO or settings queries where possible.
- Revalidate public metadata periodically instead of recomputing on every request.
5. AI degradation handling
- Allow temporary degraded behavior when moderation or analysis providers are slow or unavailable.
- Prefer warning-based fallbacks over blocking all user progress during provider incidents.
6. Static asset caching
- Use long TTL immutable caching for campaign assets.
- Change asset filenames when content changes.
7. Infrastructure scaling
Before a major launch:
- run at least two app replicas
- enable autoscaling on Railway
- confirm database connection headroom
- validate CDN cache hit rate on hot assets
8. Load test path
Use the included script:
NEXT_PUBLIC_CONVEX_URL=https://<convex-deployment>.convex.cloud \
DP_CAMPAIGN_SHORT_ID=<campaign-short-id> \
pnpm dp:loadtest:funnel --visitors 10000 --concurrency 200
Track:
- mutation conflict and retry rate
- DP tracking latency
- 5xx rate
- database connection saturation