尚未偵測到更新。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.