A founder texted me a screenshot of their Vercel bill: $347 for one month. Their app had 12,000 monthly active users and was still pre-revenue.
January 8, 2025 9 min read
A founder texted me a screenshot of their Vercel bill: $347 for one month. Their app had 12,000 monthly active users and was still pre-revenue.
The previous month cost $84. The month before that, $31. Vercel's "free" tier worked great until it did not. Then costs tripled without warning.
AWS would have cost less for the same traffic - around $40-60 per month. But AWS requires DevOps knowledge most early startups lack. The founder asked: should we migrate to save $300 monthly or stay on Vercel and pay for simplicity?
The answer depends on what your time is worth and where you are in the product lifecycle.
Vercel's Pricing Model
Vercel sells developer experience. The platform makes deploying Next.js apps frictionless: connect GitHub, push code, site updates automatically. No build scripts, no server configuration, no infrastructure management.
That convenience has a price.
The "Free" Hobby Tier
Vercel's Hobby tier includes:
100 GB bandwidth per month
Unlimited deployments
Automatic HTTPS
Global CDN
Preview deployments for pull requests
Serverless functions (100 GB-hours execution)
100 GB bandwidth sounds generous. It disappears fast.
A typical Next.js page with images weighs 500 KB to 2 MB. Assume 1 MB average including images, fonts, and JavaScript bundles.
100 GB = 102,400 MB = ~100,000 page views.
For a blog or portfolio, that is plenty. For a SaaS application with daily active users, you hit the limit in weeks.
12,000 monthly active users averaging 15 page views each = 180,000 page views. At 1 MB per view, that is 180 GB. You are over the free tier by 80 GB.
Stop planning and start building. We turn your idea into a production-ready product in 6-8 weeks.
Pro Tier Costs
The Pro tier ($20/month per member) includes:
1 TB (1,000 GB) bandwidth
1,000 GB-hours function execution
Image optimization included
Advanced analytics
Team collaboration features
The base $20 is tolerable. The overages hurt.
Overage pricing:
Bandwidth: $40 per 100 GB beyond included 1 TB
Function execution: $40 per 100 GB-hours
Image optimizations: $5 per 1,000 source images (after 5,000 included)
That founder's $347 bill breakdown:
Pro tier: $20
Bandwidth overage: 600 GB × $0.40/GB = $240
Function execution overage: 200 GB-hours × $0.40/GB-hour = $80
Image optimization: Minor costs
Total: $347
Their app was not even optimized. They loaded full-resolution images without lazy loading. Every page hit triggered serverless functions that could have been cached.
With optimization, they could have cut costs by 40-60%. But "optimize to reduce hosting bills" is not where founders want to spend time at the early stage.
AWS Pricing Reality
AWS costs less per unit of computation and bandwidth. But AWS bills you for 30+ line items, each requiring configuration.
A comparable Next.js setup on AWS involves:
Architecture components:
CloudFront CDN: Content delivery
S3: Static asset storage
Lambda@Edge or EC2: Server-side rendering
API Gateway (if using API routes): HTTP routing
CloudWatch: Logging and monitoring
ACM: SSL certificates (free)
AWS Costs for Same Workload
Using the same 12,000 user app that cost $347 on Vercel:
CloudFront (CDN):
First 10 TB: $0.085 per GB in the US
600 GB transfer = $51
S3 Storage:
Static assets: ~5 GB stored = $0.12
Request costs: negligible for typical use
Lambda or EC2:
Lambda: 500,000 invocations at $0.20 per 1M + compute time = $5-15
Or EC2 t3.small instance: $15/month (reserved) to $25/month (on-demand)
CloudWatch Logs:
10 GB ingestion: $5
Storage: $2
Total: ~$60-90/month
That is $260-290 less than Vercel for the same traffic.
So why does anyone use Vercel?
The Hidden AWS Costs
AWS's lower usage costs hide higher time costs.
Setup complexity:
Configuring CloudFront takes 30-60 minutes if you know what you are doing
Connecting S3 buckets with proper CORS and caching headers: another 30 minutes
Setting up Lambda@Edge for SSR: 1-2 hours
Configuring CI/CD from GitHub to AWS: 2-4 hours
Setting up logging and monitoring: 1 hour
First-time setup: 8-12 hours of engineering time.
If your team bills at $100-150/hour internally, that is $800-1,800 in time cost.
Ongoing maintenance:
Debugging deployment failures: 2-4 hours per month
Certificate renewals (if not using ACM): 30 minutes annually
Monitoring and responding to CloudWatch alarms: variable
Monthly maintenance: 2-6 hours = $200-900 annual time cost.
Add it up: Year one costs $1,800 (setup) + $720-2,000 (maintenance) + $720-1,080 (usage) = $3,240-4,880 for AWS.
Vercel at $60-100/month averages $720-1,200 annually with zero engineering time overhead.
For early-stage startups, Vercel is often cheaper when you factor in time.
When Vercel Makes Sense
Vercel wins when time is more valuable than money:
Pre-product-market fit startups: You are iterating fast, changing architecture weekly, testing features. Spending hours on AWS configuration slows you down. Vercel's deploy-on-push workflow keeps you focused on product.
Teams without DevOps experience: If your team is frontend developers or non-technical founders, AWS's complexity becomes a blocker. Vercel abstracts infrastructure entirely.
Projects under 50,000 monthly page views: Staying within the free tier or low Pro tier costs ($20-60/month) is cheap insurance against infrastructure distractions.
When development velocity matters more than costs: If shipping a feature three days faster is worth $100, Vercel pays for itself. We use Vercel for most client projects because founder time is scarce.
When AWS Makes Sense
AWS becomes cost-effective at scale or with specific requirements:
Predictable high traffic: Once you know you will use 2-5 TB bandwidth monthly, AWS costs $200-400 vs Vercel's $800-1,200. The math shifts.
Image-heavy or media applications: If your app serves video, high-resolution images, or large file downloads, bandwidth costs dominate. AWS S3 + CloudFront is 60-75% cheaper than Vercel.
You already have DevOps expertise: If your team runs other infrastructure on AWS and knows the platform, the learning curve is zero. Use what you know.
Enterprise compliance requirements: Some industries require infrastructure to meet specific compliance standards. AWS offers more granular control over regions, data residency, and audit logs.
Multi-cloud strategy: If you are avoiding vendor lock-in intentionally, AWS (or GCP, Azure) gives you portability. Vercel ties you to their platform.
The Middle Path: Vercel with Optimization
Most startups should optimize Vercel costs before migrating to AWS.
Image optimization:
Use next/image component properly (lazy loading, responsive sizes)
Compress images before uploading (use tools like Sharp or ImageOptim)
Serve WebP/AVIF formats with fallbacks
Consider external image CDNs (Cloudinary, Imgix) for heavy image workloads
Caching strategies:
Set proper Cache-Control headers on static assets (1 year for hashed assets)
Use stale-while-revalidate for dynamic content
Implement edge caching where possible
Cache API responses at the function level
Code splitting and bundle optimization:
Lazy load components not needed on initial render
Analyze bundle with next-bundle-analyzer
Remove unused dependencies (check with depcheck)
Use dynamic imports for heavy libraries
Function execution optimization:
Minimize serverless function cold starts by reducing bundle size
Cache external API calls in functions
Move static content generation to build time (ISR or SSG)
These optimizations cut Vercel bills by 40-70% without migration work. The founder with the $347 bill? We reduced it to $120-140/month with four hours of optimization work.
Hybrid Approaches
You do not have to choose Vercel or AWS exclusively.
Vercel for app + S3 for assets:
Host Next.js app on Vercel
Store and serve large files (videos, PDFs, user uploads) from S3 + CloudFront
Cuts Vercel bandwidth charges while keeping deployment simplicity
Vercel for development + AWS for production:
Use Vercel for preview deploys and staging environments
Deploy production to AWS for cost savings at scale
Best of both: fast iteration + low production costs
Selective AWS migration:
Keep main app on Vercel
Move high-bandwidth features (image serving, file downloads, video streaming) to AWS
Gradual migration reduces risk
The TCO (Total Cost of Ownership) Reality
Compare total costs honestly:
Year One Costs
Scenario: 15,000 MAU, moderate growth
Vercel Pro wins year one.
Year Two Costs (Assuming 3x Growth)
Scenario: 45,000 MAU
AWS starts winning at scale. Hybrid approach (Vercel + S3) offers best value.
Year Three Costs (Assuming Continued Growth)
Scenario: 150,000 MAU
At significant scale, AWS saves $6,000-7,000 annually even with engineering time factored in.
Other Platforms Worth Considering
Vercel and AWS are not the only options.
Netlify:
Similar to Vercel for static sites and edge functions
Pricing comparable to Vercel, sometimes slightly lower
Better for non-Next.js frameworks (supports everything)
Cloudflare Pages + Workers:
Generous free tier (unlimited bandwidth on free plan)
Fast global CDN (Cloudflare's network)
Workers for edge compute ($5/month for 10M requests)
Limited to edge-compatible runtimes (no Node.js full compatibility)
Railway, Render, Fly.io:
Simpler than AWS, more control than Vercel
Docker-based deployments
Pricing: $5-20/month base + usage costs
Better for full-stack apps that need databases, background jobs, etc.
Use this to decide when to migrate from Vercel to AWS:
Stay on Vercel if:
Monthly bills are under $200
Engineering time is constrained (< 10 hours/month available for infrastructure)
Product is pre-PMF and changing frequently
Team lacks AWS experience
Development velocity is critical competitive advantage
Migrate to AWS if:
Monthly Vercel bills exceed $500 consistently
Engineering team has 20+ hours available for migration project
Traffic patterns are predictable (not spikey)
You have DevOps expertise in-house or can hire it
Cost savings of $3,000-10,000 annually justify migration effort
Use hybrid approach if:
Vercel bills are $200-500 monthly
Specific features (file uploads, video streaming) drive most costs
You want to optimize costs without full migration
Team can dedicate 10-15 hours to selective optimization
Key Takeaways
"Free" hosting is free until it is not. Understand pricing models before you hit surprise bills:
Vercel: Fast, simple, expensive at scale. Great for pre-PMF startups and teams without DevOps resources.
AWS: Cheap per unit, expensive in time. Better for predictable scale and teams with infrastructure expertise.
Hybrid: Best value for many startups - Vercel for core app, AWS for high-bandwidth features.
Migration timing: When Vercel bills exceed $500/month and you have 20+ hours for migration, AWS saves money.
Calculate total cost of ownership including engineering time. The cheapest infrastructure costs the most when it slows down product development.
For most early-stage startups, Vercel's premium is worth it. Optimize before migrating. Migrate when math clearly favors it. For more on hidden costs during scaling, see our guide on infrastructure and hosting costs after MVP launch.
We deploy most client projects on Vercel because founder time is more valuable than hosting costs at the MVP stage. When scaling demands it, we handle AWS migrations efficiently. Let's talk about the right infrastructure for your stage.
Most marketing automation apps treat AI as a feature to add later. Here's why that approach fails—and how to architect AI-native marketing automation from day one.