The cost optimization here is impressive - $10 for millions of visitors using Next.js + Vercel + Cloudflare R2 (free egress).
I'm building an analytics SaaS with a similar stack and this validates our architecture choices. A few questions:
1. How are you handling ISR vs full static generation? You mentioned migrating to generateStaticParams - did you pre-generate all email pages or use on-demand ISR?
2. Did you hit any Vercel function limits with the email processing, or is everything cached aggressively enough that it doesn't matter?
3. R2's free egress is a game-changer - are you using Cloudflare's image transformations or handling resizing client-side?
The caching strategy here is the real MVP. Most people underestimate how far good caching with Next.js can take you before you need Redis or more complex infrastructure.