CalculatorCase StudyGuidesWikiChecklistSimulatorAbout
case study

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.

~450Mviews
$46kbilled
~36%analytics
500req/min/user

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.

where the money went
The Numbers

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.

The Timeline

What went wrong

1

Launch goes viral

jmail.world launches and gets hundreds of millions of pageviews. A fun project turns into a hosting nightmare.

2

Aggressive preloading

500 requests/min per user. Hover-triggered prefetching loads entire email threads before anyone clicks.

3

Unoptimized assets

650KB Facebook icon as PNG. No image optimization, no WebP, no CDN for static assets.

4

100% analytics logging

Vercel Analytics at full sampling — reportedly double dipping: pay for analytics + pay for the edge requests analytics generates.

5

Initially, no CDN before Vercel

At launch, every request hit Vercel origin directly. No Cloudflare, no edge caching. Cache-Control headers missing.

6

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

1

Cloudflare in front of Vercel

cache-status: HIT. Most requests never reach Vercel origin. Immediate cost reduction.

2

30-day cache + stale-while-revalidate

Archival email data doesn't change. Cache it aggressively: 30 days with SWR fallback.

3

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.