A real-time karaoke queue app built with React, Convex, and the YouTube API. Display videos on a host screen while guests add songs to the queue from their devices.
- Real-time sync: Queue updates instantly across all connected devices
- Guest view (
/): Search YouTube for karaoke songs and add them to the queue - Host view (
/host): Full-screen video player with auto-advance - Anonymous access: Just enter a nickname to start adding songs
- Queue management: Anyone can add or remove songs from the queue
npm installCreate a Convex account at convex.dev if you don't have one, then:
npx convex devThis will create your backend and set the VITE_CONVEX_URL in .env.local.
- Go to Google Cloud Console
- Create a new project (or select existing)
- Enable the YouTube Data API v3
- Create credentials (API Key)
- Add to your
.env.local:
VITE_YOUTUBE_API_KEY=your-api-key-herenpm run dev- Open
http://localhost:5173/on guest devices - Enter a nickname and start searching for karaoke songs
- Open
http://localhost:5173/hoston the main display/TV - Songs play automatically and advance when finished
- Frontend: React 19, TypeScript, Tailwind CSS, shadcn/ui
- Backend: Convex (real-time database)
- Video: react-youtube (YouTube IFrame API)
- Routing: react-router-dom