What Is a CDN? Why Your App Loads Fast for Some Users and Slow for Others.
You deployed your app with Claude, ChatGPT, Vercel, or Netlify and you are getting feedback that it loads fast for some users and takes forever for others. Or…
You deployed your app with Claude, ChatGPT, Vercel, or Netlify and you are getting feedback that it loads fast for some users and takes forever for others. Or you tested it yourself from two different locations and got completely different load times. This inconsistency is almost always explained by one thing: where your app’s server is located relative to your users, and whether a CDN is in the picture. Here is what a CDN is and why it matters for your app.
The Geography Problem
Your app lives on a server somewhere. Maybe that server is in Virginia, USA because that is where Vercel or AWS has its primary data centre. Every time someone loads your app, their browser sends a request to that server and waits for the response.
If that user is also in Virginia, the round trip takes milliseconds. If that user is in Sydney, Australia, the request travels roughly 16,000 kilometres each way. The speed of light is fast but it is not instant, and the latency adds up. A page that loads in 200 milliseconds for a user in New York might take 1.5 seconds for a user in Tokyo.
This is the geography problem. Physical distance between user and server directly affects speed.
What a CDN Does
CDN stands for Content Delivery Network. A CDN is a network of servers distributed around the world that store copies of your app’s files.
A one-sentence definition: a CDN caches copies of your app’s static content on servers close to your users so that content is delivered from nearby rather than from a distant central server.
When a user in Tokyo visits your app and a CDN is in place, they do not receive images, CSS files, and JavaScript from a server in Virginia. They receive them from a CDN server in Tokyo or Singapore. The content travels a few hundred kilometres instead of sixteen thousand. The page loads dramatically faster.
What Gets Cached on a CDN
CDNs cache static assets: things that do not change for every user and every request.
Images, CSS stylesheets, JavaScript files, fonts, and other fixed files are ideal for CDN caching. They are identical for every visitor and do not need to be generated fresh each time.
Dynamic content, the parts of your app that change based on the user or the current data, is typically not cached on a CDN. Your user’s personalised dashboard, their account information, and real-time data still come from your main server.
Do You Already Have a CDN?
If your app is on Vercel or Netlify, you already have a CDN. Both platforms include a global CDN automatically for all deployed apps. Static files are served from whichever of their edge locations is closest to each user.
If your app is on Railway or Render, you typically do not have automatic CDN coverage for your files, though both platforms are working on edge capabilities.
If you need to add CDN coverage independently, Cloudflare is the most widely used option and has a generous free tier. Putting your app behind Cloudflare means all traffic passes through their network, which includes global CDN caching, DDoS protection, and performance optimisation.
To add Cloudflare: update your domain’s nameservers to point at Cloudflare instead of your registrar. Cloudflare will guide you through the process when you add your domain.
When to Think About This
For most early-stage vibe-coded apps, the CDN is handled automatically by Vercel or Netlify and you do not need to think about it. The situation where it becomes relevant is when you notice significantly different load times for users in different parts of the world, or when you move to a hosting platform that does not include a CDN.
If a user tells you your app is slow for them and you want to diagnose whether geography is the cause, ask your AI: “A user in [location] is experiencing slow load times on my app hosted on [platform]. Is this likely a CDN issue and how do I address it?”
The One Thing to Remember
A CDN is a global network of servers that store copies of your app’s static files close to your users so they do not have to travel to a distant central server. If your app is on Vercel or Netlify, you already have one. If not, Cloudflare provides CDN coverage for free. Uneven load times based on user location are almost always a CDN gap.
Want your app running fast and reliably for users everywhere? → Snapdock
New here? These might help: Why is my app slow? How to make it faster without a developer. → What is caching? Why your app sometimes shows old information. →