Make group playlists feel effortless, fair, and fun.
PulseList is a collaborative playlist app for friends planning parties, road trips, and hangouts. It lets people suggest songs, vote on tracks, and shape shared playlists in real time so the group ends up with music everyone actually wants to hear. It reduces the awkwardness of one person controlling the aux cord and gives hosts a simple way to keep the vibe right.
Host Hannah, 31 - Hannah organizes house parties and wants music to feel collaborative without spending the whole night curating it herself. She needs a fast way to collect songs from friends and keep the vibe consistent.
Road Trip Raj, 27 - Raj plans long drives with friends and wants the playlist to stay fresh over hours, not just the first 20 minutes. He cares about fairness, variety, and offline reliability in low-signal conditions.
Social Sam, 22 - Sam joins events through shared links and is usually reluctant to install yet another app. He wants a quick, low-friction way to participate from a browser or lightweight app.
Hannah is hosting a birthday party and does not want to spend the night acting as DJ. She creates a PulseList room in less than a minute, shares the QR code, and her friends start adding songs from their phones as they arrive.
As the room fills up, guests upvote the tracks they want and downvote the ones that do not fit the mood. The playlist reorders in real time, Hannah pins the crowd favorites, and the group ends with a playlist that feels like everyone contributed.
After the party, Hannah exports the final list to Spotify and saves the room as a reusable template. PulseList gives the group a better shared music experience while creating repeat usage through memorable events and easy sharing.
Team & resourcing - Small team - 2 engineers, 1 designer, part-time PM
Paste this into Cursor, Bolt, Lovable, or v0 to start building.
Build a mobile-first collaborative playlist web app called PulseList. Product summary: PulseList lets a host create a shared playlist room for parties or road trips, invite friends by link or QR code, let guests suggest tracks, and let everyone vote songs up or down in real time. The host can moderate the queue, pin/remove tracks, and export the final playlist to Spotify. Core screens and flows: 1. Landing page with Create Room and Join Room actions. 2. Create Room modal/page: playlist name, event type, mood preset, optional approval mode. 3. Join Room flow: nickname entry, room rules, then room lobby. 4. Room screen: current queue, search bar, suggestion composer, vote controls, live ranking, participant presence, host controls. 5. Finalize screen: playlist summary, runtime, explicit flags, export to Spotify. 6. Simple reusable room history page for hosts. Functional requirements: Use guest-friendly access with optional sign-in via Clerk or Supabase Auth. Support real-time room synchronization with WebSockets or Supabase Realtime. Implement song search and metadata lookup using Spotify Web API first, with track deduplication by provider track ID and fuzzy title/artist matching. Support one-vote-per-user-per-track, optimistic UI updates, host moderation, track pinning, and room lock/end states. Include rate limiting, spam prevention, and error states for unsupported tracks or failed exports. Data model: User(id, email, displayName, authProvider, createdAt) Room(id, hostUserId, name, eventType, moodPreset, approvalMode, isLocked, isActive, createdAt) RoomMember(id, roomId, userId nullable, guestName, role, joinedAt, lastSeenAt) Track(id, provider, providerTrackId, title, artist, album, durationMs, artworkUrl, explicit, externalUrl) Suggestion(id, roomId, trackId, suggestedByMemberId, status, note, createdAt) Vote(id, roomId, trackId, memberId, voteType, createdAt) QueueItem(id, roomId, trackId, rank, pinned, hidden, score, createdAt) ModerationAction(id, roomId, actorMemberId, actionType, targetType, targetId, metadataJson, createdAt) ExportJob(id, roomId, destination, status, externalPlaylistId, errorMessage, createdAt) Default tech stack: Next.js 14, React, TypeScript, Tailwind CSS, shadcn/ui, PostgreSQL, Prisma, Redis, Node.js API routes or NestJS, Supabase Realtime or Socket.io, Clerk for auth, Stripe not needed for MVP. Implementation guidance: Prioritize fast mobile UX, large tap targets, accessibility, and under-200ms perceived vote updates. Build clean state management for live room sync, robust error handling for network disconnects, and a simple but polished UI. Provide seeded demo data, responsive layouts, and production-ready environment variable handling. Ship the MVP with one music provider integration first, then structure the code so additional providers can be added later.
Design by The Resonance | Powered by GPC – The AI Transformation Company