turn the key. take a lap.
Every piece is in place now. Your copy runs, it has a database, people can sign in, and it knows you own it. This step changes nothing. It is a walk through your own site, start to finish, so you know what working looks like before you start changing things. When something breaks later, this is what you compare against.

✓ Success: you have seen all of it, working.
this is a work in progress
1️⃣ Start It Fresh
If your site is still running from the last step, stop it first with Ctrl + C. A fresh start makes it read .env again. Then, inside your copy:
# Switch to your copy's Node version (fnm use on Windows)
nvm use
# Start your site
npm run dev
# Then open this in your browser:
# http://localhost:3000Compare it with the first time you ran it in Install the tools. The "Configure your application" box is gone, because your own Clerk keys are connected. Click Sign in and use the account you made yourself admin with.
2️⃣ Find This Step
The checklist you have been following lives inside your site, in your database. Go find it:
- Open localhost:3000/admin. The big ADMIN. heading means your site trusts you
- Under PRODUCT., click STEPS
- Look for First run near the top, with a blue SETUP. tag. The SETUP. steps are listed first, in the order you have been following them
“If you can read this step there, you are running your own copy.”
— unparty-app
Want to keep your place? Click Edit on a step you have finished, set Status to Completed, and click Update Step. The COMPLETED filter at the top then shows everything you have done. Re-running the setup seed leaves those marks alone.
3️⃣ Walk Your Site
Your site has doors anyone can open and doors only you can open. Visit each of these while signed in:
| Visit | Who can see it | What it proves |
|---|---|---|
| / | Everyone | Your homepage runs |
| /article/setup-first-run | Everyone | Your copy carries every article, including this one |
| /party | You and approved members | Sign-in and your admin label both work |
| /admin | Only admins | Your site trusts you with everything |
| /admin/settings | Only admins | Your site can save a setting to your database |
Now check the locks from the outside. Open a private window (⌘ + Shift + N in Chrome, ⌘ + Shift + P in Safari). You are signed out there, like any visitor:
- localhost:3000 and any article open normally
- localhost:3000/admin sends you to sign in instead
- localhost:3000/party sends you to sign in too
“Open where it should be open. Locked where it should be locked.”
— unparty-app
⚠️ Normal on a New Site
- Zeros on the admin dashboard — no visitors, no sign-ups, no submissions yet. They fill in once your site is live
- The first visit to each page is slow — your computer builds each page the first time you open it. The second visit is fast
- ENOENT and story-repo-mappings.json in the terminal — a file your copy only creates when it builds for the internet. Harmless on your computer; ignore it
- Your database is real — anything you edit or delete in /admin really changes. Deleted a SETUP. step by accident? Run npm run db:seed:setup and it comes back
One command to never run: npm run db:seed (without :setup). It deletes every step and everyone's progress before it starts. npm run db:seed:setup is the safe one, and you can run it as often as you like.
🧯 If Something Is Off
- /admin sends you to sign in even though you are signed in — sign out and back in to refresh your labels. If it keeps happening, recheck Make yourself admin
- STEPS says "No steps found" — the setup steps are not in your database yet. Run npm run db:seed:setup, then reload
- A page shows an error about the database — check the two connection strings in .env from Create your database. A free Neon database naps when idle, so the first request after a break can take a few seconds
- The "Configure your application" box is back — your Clerk keys are missing from .env or misspelled. Compare them with Add sign-in, then restart with npm run dev
🤖 Ask Your LLM
I am running my copy of a Next.js site with npm run dev. When I
open [the page] I see [describe it], and the terminal printed:
[paste it]. Is this normal for a brand-new site, or is something
misconfigured? Do not change anything, and do not ask me for my keys.
Read src/middleware.ts in this project and list, in plain words,
which pages anyone can open and which ones need sign-in or admin.✅ You Are Done When
- npm run dev starts your site at localhost:3000 with no "Configure your application" box
- /admin/steps lists the SETUP. steps, and you found First run among them
- /party and /admin open for you
- In a private window, /admin and /party send you to sign in, while the homepage and articles open
You have seen your whole site working, on your own computer, with your own accounts. Next is Make it yours: identity, where the unparty name comes off and yours goes on.
“Know what working looks like. Then change it.”
— unparty-app