How I Cut a Client's Hosting Bill by 80% - CLEARPATH
CLEARPATH [BKK]
January 2026 • 6 min read

How I Cut a Client's Hosting Bill by 80%

A Bangkok e-commerce client was paying ฿15,000/month to AWS for hosting. Their site wasn't even that complex—a Next.js frontend with Postgres database. They came to me frustrated with the bills and unsure what they were paying for.

After analyzing their setup, we migrated to a modern stack that costs ฿3,000/month. Same performance, actually better in some ways. Here's the breakdown.

Before
฿15,000
/month
After
฿3,000
/month

What They Were Paying For

Service Monthly Cost Purpose
EC2 (t3.medium) ฿4,200 Next.js server
RDS PostgreSQL ฿5,500 Database
S3 + CloudFront ฿2,800 Images, CDN
ELB, Route53, misc ฿2,500 Load balancer, DNS
Total ฿15,000

This is a classic "agency over-engineered it" situation. They built for massive scale that would never come, using AWS services that charge by the hour whether you need them or not.

The Problem With This Setup

Real talk: AWS is great for massive scale. For a Thai e-commerce doing ฿2M/month revenue? It's overkill and overpriced.

The New Architecture

Vercel ฿0-700/mo

Next.js hosting. Free tier handles most traffic. Pro tier (฿700/mo) if you exceed limits.

  • Automatic deployments from GitHub
  • Edge network—fast in Thailand
  • Only pay for what you use
  • Built-in analytics
Supabase ฿900/mo

Managed PostgreSQL. Free tier for development, Pro tier for production.

  • Same Postgres, easier management
  • Hosted in Singapore—low latency for Thailand
  • Built-in backups, connection pooling
  • Auth and storage included
Cloudflare ฿0

CDN, DNS, DDoS protection. Free tier is generous.

  • Unlimited bandwidth on free tier
  • Images served from edge locations
  • Automatic SSL, security features
  • R2 for image storage (way cheaper than S3)
Cloudflare R2 ฿400/mo

Image/file storage. S3-compatible, way cheaper.

  • No egress fees (the big S3 killer)
  • $0.015/GB stored vs S3's $0.023/GB
  • For their ~50GB: ฿400/mo vs ฿2,800/mo

New Monthly Costs

Service Monthly Cost
Vercel Pro ฿700
Supabase Pro ฿900
Cloudflare (CDN/DNS) ฿0
Cloudflare R2 (storage) ฿400
Domain renewal ฿40
Total ฿2,040

I budgeted ฿3,000 to account for traffic spikes and growth. Actual costs usually under ฿2,500.

Annual Savings
฿144,000
That's the budget for actual improvements, not infrastructure tax

The Migration Process

1
Database Migration
Exported Postgres from RDS, imported to Supabase. Took 2 hours including testing.
2
Image Migration
Wrote script to move ~50GB images from S3 to R2. Updated image URLs in database.
3
Code Updates
Updated environment variables, connection strings. Minor code changes for Supabase client.
4
Deploy to Vercel
Connected GitHub repo, deployed. Automatic HTTPS, preview deployments working.
5
DNS Cutover
Moved DNS to Cloudflare, pointed to Vercel. Zero downtime with proper TTL management.
6
Shutdown AWS
After 2 weeks running parallel, terminated all AWS resources.

Performance Comparison

Metric AWS New Stack
TTFB (Thailand) 280ms 120ms
Image load (BKK) 180ms 90ms
Uptime (6mo) 99.9% 99.99%
Deploy time 8 min 45 sec

The new stack is actually faster because Vercel and Cloudflare have edge locations in Singapore (closer to Thailand than the Singapore AWS region they were using).

When This Works (and When It Doesn't)

This migration pattern works well for:

You might need AWS/GCP if:

The rule: If you're paying more than ฿10,000/month for hosting and don't know exactly why, you're probably overpaying.

Free Audit Offer

If you're curious whether your hosting costs could be reduced, I'll do a free 30-minute review of your current setup. No obligation—I'll just tell you what I see and whether migration makes sense.

Some setups are fine where they are. Some are burning money. Happy to tell you which one you have.

Want me to look at your hosting costs?

Free audit. I'll tell you if you're overpaying and what you could do about it.

Get Free Audit
AI_ASSISTANT
Hey. Ask me about services, pricing, or timelines. I'll give you a straight answer.