an address with your name on it.

Your site is live, but its address ends in .vercel.app. This step moves it to a domain you own. If you added sign-in, it says Development mode too, and this step moves it from Clerk's practice keys to real ones. The practice keys only work while you are testing. The real ones only work on a domain you own, which is why these happen together.

Where
Vercel
What you change
Add your domain
Why
Visitors reach your site at your address

this is a work in progress

  1. Point it.

    Your domain, at Vercel.

  • Success.your site lives at your address.

1️⃣ Point Your Domain at Vercel

In Vercel, open your project, then Settings → Domains, and click Add Domain. Type the domain you want, like yourname.com:

  • You do not own it yet — Vercel offers to buy it for you. This is the simplest path: Vercel sets up everything, and you can skip to step 2️⃣
  • You already own it somewhere else (GoDaddy, Namecheap, Squarespace, Cloudflare) — keep it there. Vercel shows you a few DNS records to add in that company's settings

A DNS record is a line in your domain's address book that says where to send visitors. If Vercel shows you records:

  1. When Vercel asks, choose the option that adds www.yourname.com and redirects yourname.com to it. Both addresses then work
  2. Sign in where you bought the domain and find its DNS settings (sometimes called Manage DNS)
  3. Add each record exactly as Vercel shows it: the Type, the Name, and the Value. Copy and paste; never retype
  4. Back in Vercel, wait for each domain to say Valid Configuration. It is often minutes, and occasionally a few hours

Your .vercel.app address keeps working. Nothing breaks while you wait for DNS.

2️⃣ Tell Your Code Its Address

Your site writes its own address into things you never see on the page: the map it gives search engines (/sitemap.xml), the note that points them to it (/robots.txt), and the links and preview images that appear when someone shares a page. All of them read one line. Open src/data/FoundersConfig.json in your editor, find url under site, and change it:

json
// src/data/FoundersConfig.json, inside "site"
"url": "https://www.yourname.com",

Save the file. In GitHub Desktop, write a summary like "Use my domain", click Commit to main, then Push origin. Vercel rebuilds, and a few minutes later your site knows its name. The rest of FoundersConfig.json, like your name and your site's name, belongs to the identity step. Leave it for now.

3️⃣ Switch Sign-In to Real Keys, If You Added It

No sign-in on your site? You are done here. Come back to this part if you add it. The keys you added in Add sign-in belong to Clerk's development instance: a practice copy of your sign-in that works anywhere and says so on screen. Now you create the production instance, which works only on your domain. In the Clerk dashboard:

  1. Click the Development label at the top and choose Create production instance
  2. Choose to copy your development settings, then enter your domain (yourname.com)
  3. Open Domains. Clerk lists about five CNAME records. Add each one exactly as shown, in the same place as your Vercel records (in Vercel under Domains if you bought it there)
  4. Wait until every record shows Verified, and Clerk has issued its certificates
  5. Open Sessions → Customize session token and check the metadata claim from Add sign-in is there. If it is empty, paste it again and save

Turned on "Continue with Google"? In production, Clerk needs your own Google credentials for it, and walks you through making them under SSO connections. Or turn Google off for now and keep email.

Your production instance has its own keys, starting pk_live_ and sk_live_. They go in Vercel, for your live site only. Your computer and Vercel's previews keep the practice keys, because real keys refuse to work anywhere except your domain. In Vercel, Settings → Environment Variables:

  1. Click Edit on NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, uncheck Production, and save. Do the same for CLERK_SECRET_KEY
  2. Add both names again, this time with the pk_live_ and sk_live_ values, and only Production checked
  3. Open Deployments, click ⋯ on the newest one, and choose Redeploy

👑 Make Yourself Admin, Again

A production instance starts empty. Your practice account stayed behind in development, so on your real site you are a stranger again. Repeat Make yourself admin, this time on the real thing:

  1. Open www.yourname.com/sign-up and create your account
  2. In Clerk (production), open Users, click your account, and add "role": "admin" to its public metadata
  3. Copy your new user ID (it starts user_, and it is different from your old one)
  4. Replace FOUNDER_USER_ID with the new ID in .env and in Vercel, then redeploy
  5. Run npm run db:seed:setup on your computer. Your old account keeps its access; the new one gets it too
  6. Sign out of your live site and back in

“Same site. Real address. Real keys.”

— unparty-app

⚠️ If You Added Sign-In: Two Instances, One Database

  • On your computer you sign in with your practice account, on your live site with your real one. They are separate accounts in two Clerk instances, and both are admin
  • Both still share one database — a step you edit on localhost changes on your live site too
  • Changing your address again later means another commit and push. Changing a key means another redeploy
  • Vercel previews keep the practice keys, so they show Development mode. That is expected

🧯 If Something Is Off

  • Vercel says Invalid Configuration for hours — compare each record at your domain company with what Vercel shows, character by character. A common slip is typing the full domain into Name when the company adds it for you
  • Sign-in is broken on the live site after the switch — check that the pk_live_ and sk_live_ keys are checked for Production only, that Clerk shows every record Verified, and that you redeployed
  • Signed in, but /party sends you to the waitlist — the new account needs "role": "admin" in the production instance, then sign out and back in
  • /robots.txt still shows the old address — the push has not deployed yet. Check that the newest deployment in Vercel is Ready

🤖 Ask Your LLM

prompt
I am connecting my domain [yourname.com] to Vercel. Vercel shows
these DNS records: [paste them]. My domain is registered with
[company]. Walk me through adding them there, one screen at a time.

I moved my Clerk sign-in to a production instance and now [describe
what happens]. What should I check in Clerk and in Vercel? Do not
ask me for my secret key.

✅ You Are Done When

  • yourname.com and www.yourname.com both open your site, with a padlock in the address bar
  • /robots.txt ends with your own address, and /sitemap.xml lists your pages under it
  • If you added sign-in, it no longer says Development mode, and your new account opens /party and /admin/steps on your live site

Your site has a real address. From here, the setup turns to what fills it: your first cover, story, article, and project page.

“The address is yours now. So is the front door.”

— unparty-app

SHIP. connect your own domain and process.

  1. Deploy→

    Your site has only ever run on your computer. Put it on the internet, where anyone can open it.