ISW Wave
The room
requests back.
Live song requests for halls, hacks, and nights that need a queue — scan, search, approve, play. Hosts request access; staff keep the shared YouTube quota under control.
A project by Isharaka Shohan

Now Playing
Live request · ISW Wave
Venue audio
Up next
Voted
Queued
Why it exists
Pass-the-phone playlists break. A live wave doesn't.
At uni events and hack nights, everyone wants a say in the music — but DMs, sticky notes, and open YouTube tabs turn into chaos. ISW Wave gives attendees a request lane and organizers a real control room.
How it works
Four beats. One loop.
Search → request → approve → queue → now playing. That's the product.
- 01
Scan
Projector shows Now Playing, the upcoming queue, and a QR that opens the event join page.
- 02
Request
Attendees search YouTube, pick a track, and submit — limits and moderation apply automatically.
- 03
Approve
The tech lead clears the pending list from the control room, with keyboard shortcuts and bulk tools.
- 04
Play
Approved songs enter the live queue. Admin audio drives the hall; display stays informational.
Capabilities
Built through real event nights
From QR join and venue playback to reviewed host onboarding, invite codes, and a staff ops console — features landed only after they survived the floor.
QR join in seconds
Guests open the event link or scan the hall QR — name + access code, no email signup and no app install.
YouTube search, venue-ready
Server-side search with duration filters, quota caching, and graceful limits when the free tier runs hot.
Control room & display
Approve, reject, reorder, and play from the admin laptop. The projector stays silent and always on-brand.
Crowd voting & auto-mod
Pending songs rise by votes. Block keywords, cap length, and flag or auto-reject before they hit the floor.
Request to host an event
Organizers apply with event details and a start time. Staff review each request, then the account, org, and first event are created in one step — with a one-time password setup link.
Invite codes for trusted hosts
People you already trust skip the waitlist: mint labeled codes with max uses, expiry, and per-organizer event limits from the ops console.
Staff ops console
Hidden owner/moderator panel with live event board, guest bans, top songs, invite management, and a full activity audit trail.
Public landing + clear paths
Portfolio visitors get the product story at the root URL. Guests jump to join with an event code; organizers request access or use an invite.
Themes that match the night
Accent color, logo, and minimal/full display modes so every organizer's event feels like theirs.
Three surfaces
Phone, projector, control room
Phone · guests
Request
Join with a name, search YouTube, submit within the event limit.
Open live →Projector · silent
Display
Now Playing, upcoming queue, access code, and QR for the room.
Open live →Laptop · venue audio
Admin
Approve, play, theme, fallback playlist, and YouTube quota visibility. Hosts get accounts via request review or invite code.
Open live →Engineering
Stack that ships on event night
Next.js App Router, Prisma on Turso, Pusher for realtime, YouTube Data API with server-side cache and quota tracking, invite-gated signup, and a staff ops console with activity logs — deployed on Vercel.
- Next.js 14
- TypeScript
- Prisma + Turso
- Pusher realtime
- YouTube Data API
- Tailwind CSS
- Vercel
Run your next night on a wave.
Guests join with an event code. Organizers request to host — or use an invite code if we've already sent one. Fork the repo anytime to host your own.