A weekend project.
A $46,000 bill.
jmail.world was a temporary email service that went viral — hundreds of millions of pageviews in a single month on Vercel.
Key insight: Around one third of the bill (~36%) went to analytics alone. Vercel Analytics causes “double dipping” — you pay for the analytics service and the edge requests it generates.
Bandwidth
~2 MB per user × ~450M pageviews. Uncompressed assets, no CDN caching. A 650KB Facebook icon alone cost thousands.
Requests
500 requests/min per user via aggressive hover preloading. Even with some cache hits, the raw volume crushed the included limits.
Analytics
Around 36% of the bill (~$17k). Vercel Analytics at 100% sampling with "double dipping": analytics cost + edge request cost for each event.
Compute
Only ~8% of the bill. The app served mostly static JSON data. The real costs were bandwidth and request volume, not compute.
What went wrong
Launch goes viral
jmail.world launches and gets hundreds of millions of pageviews. A fun project turns into a hosting nightmare.
Aggressive preloading
500 requests/min per user. Hover-triggered prefetching loads entire email threads before anyone clicks.
Unoptimized assets
650KB Facebook icon as PNG. No image optimization, no WebP, no CDN for static assets.
100% analytics logging
Vercel Analytics at full sampling — reportedly double dipping: pay for analytics + pay for the edge requests analytics generates.
Initially, no CDN before Vercel
At launch, every request hit Vercel origin directly. No Cloudflare, no edge caching. Cache-Control headers missing.
The bill: $46,000
A single month's hosting bill for a fun side project. More than most developers earn in a month.
What they fixed
Cloudflare in front of Vercel
cache-status: HIT. Most requests never reach Vercel origin. Immediate cost reduction.
30-day cache + stale-while-revalidate
Archival email data doesn't change. Cache it aggressively: 30 days with SWR fallback.
Vercel reportedly covered the bill
According to public accounts, Vercel's CEO stepped in and covered the $46k bill as a one-time courtesy — not a standard policy. Don't count on this.