Hi!

RIPIT

A real-time collaborative music listening platform built with Next.js 16, Go (Gin), WebSockets, and Redis for synchronized playback and lyrics.

ripit
Click to expand

RIPIT is a real-time synchronized music streaming platform designed for group listening sessions. Users can create or join virtual rooms using unique room codes with distinct host and listener roles. The platform ensures low-latency playback synchronization across clients while supporting multiple lyric formats for an immersive social listening experience.

Key Features

  • Real-Time Room Synchronization: Room-based music sessions powered by WebSockets and Redis for instant state updates.
  • Role-Based Access Control: Dual roles for Hosts (full playback control: play, pause, seek, skip) and Listeners (shared track and lyrics queue management).
  • Advanced Lyric Support: Multi-format lyric parser supporting Standard LRC, Enhanced LRC (word-by-word sync), and Plain Text formats.
  • Collaborative Queue: Both hosts and listeners can seamlessly search and add tracks to the active room queue.

Tech Stack

  • Frontend: Next.js (v16), React (v19), Tailwind CSS (v4), TypeScript
  • Backend: Go 1.24, Gin Framework, GORM
  • Real-time & Caching: WebSockets (gorilla/websocket), Redis (go-redis)
  • Database & Auth: MySQL, JWT Authentication

Project Links