Skip to content

KAPOW

KAPOW is a comic-book karaoke queue manager. Hosts spin up a room, guests scan a QR code and search for tracks, the crowd votes songs up the queue, and the host runs the night from a dedicated control booth.

Perfect for parties, events, and group entertainment nights.

  1. Host creates a room → gets a host token, a 6-character join code, and a QR code
  2. Guests join via code or QR → search YouTube for karaoke tracks → add to queue with their name
  3. Everyone votes → highest-voted pending song rises to the top
  4. Host manages playback from /host/:code, drives the TV display at /display/:code
  • Easy join - Scan QR code or enter 6-digit code
  • Search YouTube - Find any karaoke track
  • Queue songs - Add to the session playlist
  • Vote collaboration - Upvote songs you want to hear
  • Real-time updates - See queue changes instantly
  • Session management - Create and control rooms
  • Playback control - Play, pause, skip tracks
  • Queue management - Reorder songs, remove bad entries
  • Control booth - Dedicated host interface
  • Display mode - TV-ready display for guests
  • Real-time sync - Built with Supabase subscriptions
  • YouTube integration - Search the complete YouTube Music catalog
  • Drag-and-drop - Reorder queue easily
  • Voting system - Democratic song selection
  • Node.js 18+
  • pnpm (or npm/yarn)
  • Supabase account
  • YouTube Data API key
  1. Clone the repository:
Terminal window
git clone https://github.com/Get-Coral/kapow.git
cd kapow
  1. Install dependencies:
Terminal window
pnpm install
  1. Set up environment variables:
Terminal window
cp .env.example .env
  1. Add your credentials:
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_PUBLISHABLE_KEY=eyJ...
SUPABASE_DB_PASSWORD=your-db-password
YOUTUBE_API_KEY=AIzaS...
  1. Create a Supabase project at supabase.com
  2. Copy your project URL and Anon key
  3. Create a database password in project settings
  4. Run migrations to set up tables
  1. Go to Google Cloud Console
  2. Create a new project
  3. Enable YouTube Data API v3
  4. Create an API key
  5. Add to your .env
Terminal window
pnpm dev

KAPOW runs on http://localhost:3000

  1. Visit http://localhost:3000
  2. Create a new room
  3. Share the code or QR code with guests
  4. Go to host control at /host/:code
  1. Scan QR code or visit with the 6-digit code
  2. Enter your name
  3. Search for karaoke tracks
  4. Add songs to queue
  5. Vote on pending songs

Deploy KAPOW to:

  • Vercel
  • Docker
  • Self-hosted servers

Configure Supabase connection for production and ensure YouTube API limits are set appropriately.

Production build:

Terminal window
pnpm build
pnpm preview

Supabase stores:

  • rooms - Active karaoke sessions
  • queue - Songs in the queue
  • votes - Guest votes on songs
  • guests - Participants in sessions

Real-time subscriptions push changes to all connected clients instantly.

Uses Supabase realtime to push:

  • New songs added to queue
  • Vote changes
  • Playback state changes
  • Guest joins/leaves

Get-Coral/KAPOW on GitHub