Shipping & Running
$definecdn--plain-english
TLDRCopies of your static files kept close to each visitor.
Your logo should not commute.
A CDN — content delivery network — is a stack of extra copies of the heavy, boring files, parked in cities your judges already live in. Images. JS. CSS. The stuff that is the same for everyone. The original can sit in one region. The copies do the greeting.
Without one, every refresh walks to headquarters. That walk is latency. A judge in another country feels it in their shoulders even if they cannot name it. With one, they grab the nearby copy. Your origin barely noticed.
Open the builder, pick Next, deploy to Vercel or a similar lobby. You already have this. You did not "set up a CDN." The host parked the dining-room files at the edge of the network for you.
Copies lie on purpose
A CDN is a cache. Update logo.png and you may still see last night's logo until the copy expires. That is not your app being haunted. That is a leftover you promised could sit.
The hackathon fix is boring and good:
app.83f1.js) so a new deploy is a new name.Edge is the cousin that runs a little code in those same cities. A CDN mostly hands out finished files. Know which one you asked for.
create-hackhaton-space-stack will give you a frontend full of assets. The host's CDN is why those assets do not all fly from one basement. You still own the stale-copy bug. You just have to know you asked for leftovers.
What this unlocks
Once you see the extra copies, "why is the page old" and "why is the page slow" stop being the same bug. Slow is distance. Old is a leftover. The CLI scaffold will not teach you this. The first custom font that refuses to update will.
Ship the files close to the room. Keep the truth at home.