Skip to content

About

switch up those long playlist for creative purpopes and permantly.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🎵 Spotify Reshuffle

Live WebApp License: MIT React 19 Vite Firebase

Truly shuffle your Spotify playlists without algorithm bias. Access the live web application here: https://spotifyreshuffle.web.app


🎯 Purpose & Why Spotify Reshuffle Exists

Spotify's native "Shuffle" mode does not perform a mathematically random shuffle. Instead, Spotify utilizes predictive clustering, frequency weighting, and listener history algorithms to group songs together. As a result, users frequently experience:

  • The same popular tracks playing repeatedly.
  • Songs from the same artist or album playing back-to-back.
  • Large portions of long playlists remaining unheard.

Spotify Reshuffle solves this problem by connecting directly to your Spotify account via the official Spotify Web API and executing a mathematically sound, unbiased Fisher-Yates Shuffle Algorithm ($O(N)$ uniform random permutation).

Once shuffled, the app updates the exact track order directly inside your official Spotify playlist. That means when you hit "Play" (in order, without Spotify's internal shuffle turned on), you get 100% pure, un-biased randomness across all your connected devices (iOS, Android, Desktop, Sonos, Smart TVs, CarPlay).


✨ Key Features

  • 🎲 True Fisher-Yates Randomization: Every song in your playlist has an equal probability of appearing in any position ($O(N)$ uniform distribution).
  • 🔗 Direct Spotify Web API Integration: Authenticate securely using Spotify OAuth 2.0 with Implicit Grant / PKCE flow.
  • 🔄 In-Place Reshuffle or New Playlist Creation:
    • Overwrite your existing playlist track order instantly.
    • Or export the newly randomized tracklist into a brand-new playlist (e.g. "My Playlist (Reshuffled)").
  • 🗑️ Playlist Management: Remove/unfollow playlists directly from the app interface.
  • ⚡ Interactive Demo Mode: Test the reshuffle studio without signing into a Spotify account.
  • 🎨 Modern Dark Aesthetics: Premium Spotify-inspired UI built with Tailwind CSS, glassmorphism, dynamic audio canvas visualizer, and custom confetti animations.

🚀 Live Web Application

The app is deployed and live on Firebase Hosting:

👉 Launch Spotify Reshuffle (https://spotifyreshuffle.web.app)


🛠️ Tech Stack & Architecture

  • Frontend: React 19, Vite 6, Tailwind CSS v4, Lucide React Icons
  • API Integration: Spotify Web API (https://api.spotify.com/v1)
  • State & Storage: React Hooks, LocalStorage Token Persistence
  • Hosting & Infrastructure: Firebase Hosting (spotifyreshuffle.web.app)
  • Algorithms: Fisher-Yates Modern Shuffle Algorithm ($O(N)$ time complexity)

💻 Local Development Setup

Prerequisites

Installation

  1. Clone the Repository

    git clone https://github.com/Mrswami/spotifyReshuffle.git
    cd spotifyReshuffle
  2. Install Dependencies

    npm install
  3. Configure Environment Variables Create a .env file in the root directory:

    VITE_SPOTIFY_CLIENT_ID=your_spotify_client_id
    VITE_SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
    VITE_FIREBASE_AUTH_DOMAIN=spotifyreshuffle.firebaseapp.com
    VITE_FIREBASE_PROJECT_ID=spotifyreshuffle
  4. Start the Development Server

    npm run dev

    Open http://localhost:5173 in your browser.

  5. Build for Production

    npm run build

📋 GitHub Issues & Contributing Guidelines

We welcome community feedback, feature requests, and bug reports!

  • Live Application Link: https://spotifyreshuffle.web.app
  • Reporting Bugs: Check existing GitHub Issues before opening a new issue.
  • Feature Requests: Have an idea for a new shuffling mode (e.g. genre balance, artist separation)? Open an issue tagged enhancement.

📜 Governance & Governance Policy

This repository operates under executive leadership:

  • Head Chief CEO: @CEO (User)
  • Architectural changes, major algorithm modifications, or schema updates must be reviewed prior to deployment.

📄 License

This project is open source and available under the MIT License.

About

switch up those long playlist for creative purpopes and permantly.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages