# DNS (/academy/dns)



You can name a restaurant anything. The city still needs a street.

**DNS** is the clerk who files that street next to the name. Computers do not browse `yourapp.com`. They travel to a number — an IP. You buy the name so judges can type something human. You still have to tell the clerk which building the name opens.

Buying `demo-squad.com` does nothing by itself. That is a sign with no door behind it. Pointing is the other half: write down "this name goes to Vercel" or "this name goes to Cloudflare." The [deploy](/academy/deploy) already put a building on the internet. DNS is how the painted sign leads there.

**Two stickers you will actually see**

* An **A record** says "this name lives at this number." Straight line.
* A **CNAME** says "treat this name like that other name." A nickname. Most hackathon custom domains are this: `www` pointing at whatever the host handed you.

You do not need to memorize the form. When the host says "add these DNS records," they are handing you the street.

Changes spread. The clerk in your city updates first. A judge across the room may still have yesterday's street for an hour. That lag is why "it loads for me" and "blank for them" can both be true after you flip a domain. It is also why people shrug and say it is probably DNS. The app is up. The sign is lying, or still drying.

If [localhost](/academy/localhost) worked and the custom domain is a white screen, stop rewriting the [frontend](/academy/frontend-backend). Argue with the clerk.

**What this unlocks**

A [deploy](/academy/deploy) gives you a rented URL. DNS is how that URL becomes a name you chose. Until the clerk files it, you have a working kitchen with a sign in the wrong city. After, judges type something you can say out loud.

The [cloud](/academy/cloud) host will give you the street. You just have to write it down.
