尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Guests scan a QR code, search Spotify, add a dedication, and tap Add. The song lands in the host's real Spotify queue. No app or login for guests. Your phone keeps playing through the speaker as usual, and tapping Next plays requests in order.
Built for a Diwali party (marigold garland, diyas, rangoli, fireworks), but every name and title is a setting.
| Page | Who | What it does |
|---|---|---|
/ | Guests | Search, add a song + dedication, see Now Playing and Up Next with "requested by" |
/host | You (PIN) | Auto ↔ Approve toggle, explicit-song heads-up, approve/decline, Next, keepsake playlist, reset |
/tv | Big screen | Now playing on a spinning record, Up Next, dedications, QR code, fireworks for each new request |
/qr | Printing | QR poster for the party |
Every request goes through: a valid song → duplicate guard (already requested, playing now, or queued) → straight into the queue (Auto) or held for you (Approve). Explicit songs aren't blocked: the host screen shows a red heads-up (plus a buzz) when one is coming up or playing, with a one-tap Next. If music is paused, requests wait for you instead of being lost.
Guest picks keepsake: every guest song is saved to a private Spotify playlist and logged with who asked
and their dedication. Download it all as a CSV from /host after the party.
You need: a Spotify Premium account (the one that plays at the party), a GitHub account, and a Vercel account.
https://YOUR-PROJECT.vercel.app/api/callback.
You'll know your exact project name in step 2. You can come back and edit it.Spotify development-mode apps require the owner to have Premium and allow 5 users. Only the host signs in to Spotify, so that's plenty. Guests never authorize anything.
Click Deploy with Vercel above. It copies this project to your GitHub, creates the free Upstash Redis storage, and asks for four settings:
| Setting | Value |
|---|---|
SPOTIFY_CLIENT_ID | From your Spotify app |
SPOTIFY_CLIENT_SECRET | From your Spotify app (View client secret) |
HOST_PIN | Any PIN you choose; it protects /host |
APP_URL | Your site address, no trailing slash, e.g. https://party-dj.vercel.app |
Then make sure the Spotify Redirect URI is exactly APP_URL + /api/callback.
Fork or copy this repo, import it at https://vercel.com/new (preset Other), then in the project:
Storage → Create Database → Upstash for Redis → Free, with env prefix KV. Add the four settings above
under Settings → Environment Variables and redeploy.
Add any of these under Settings → Environment Variables, then redeploy:
| Setting | Shown as | Default |
|---|---|---|
PARTY_NAME | Party title on every page and the keepsake playlist | Diwali Party |
DJ_NAME | The big neon name, e.g. Rohan's Jukebox or DJ Rohan (auto-shrinks to fit) | DJ |
HOST_NAME | Your name in friendly sentences ("So Rohan knows who picked it"); needed if the big name isn't "DJ …" | from DJ_NAME |
QUEUE_TITLE | Headline on the poster and big screen | Song Request Queue |
GREETING | Chip under the name, e.g. ✨ Shubh Deepavali · requests open all night | ✨ Requests open all night |
DEDICATION_EXAMPLE | Hint in the dedication box | For our amazing hosts 💛 |
PARTY_TIMEZONE | Times in the picks CSV | America/Los_Angeles |
REPO_URL | Where "Get this for your party" links | this repo |
Open https://YOUR-SITE/host, enter your PIN, tap Connect Spotify and approve.
/host open on your phone. Pick Auto or Approve./tv on a TV or laptop: tap Full screen (the screen stays awake). Or print /qr./host.| Message | Fix |
|---|---|
| "Spotify isn't playing on the host phone right now." | Press play in Spotify. Waiting requests are under Waiting for approval: tap Approve all. |
| "The host needs to connect Spotify…" | /host → Reconnect Spotify. |
Spotify says INVALID_CLIENT: Invalid redirect URI | The Spotify Redirect URI must equal APP_URL + /api/callback exactly. |
| Keepsake card says "Reconnect Spotify" | Tap it once to grant playlist permission. |
npm install && npm test runs the end-to-end suite offline against a fake Spotify and a fake Redis:
login security, auto-queue, duplicates, explicit-song heads-up, dedications, approval flow, idle-phone fallback,
keepsake playlist, CSV, settings, skip and reset.
Stack: static HTML pages + Vercel serverless functions (api/) + Upstash Redis. No framework, no build step.
MIT. See LICENSE.