Shufflefy is a web application that enhances the Spotify experience by providing improved playlist shuffling capabilities.
- Improved shuffling algorithm for Spotify playlists
- Create new shuffled playlists from existing ones
- Shuffle queues on a remote device
- Integration with Spotify Web API
- Web-based player for shuffled playlists
- Backend: Python with Flask
- Frontend: React with Vite
- Authentication: Spotify OAuth 2.0
- API: Spotify Web API
- Spotify API Wrapper: Spotipy
- Python 3.7+
- Node.js 14+
- Spotify Developer Account
- Spotify Premium Account (for playback features)
- Clone the repository:
git clone https://github.com/darshangoswami/shufflefy.git
cd shufflefy
- Set up a virtual environment:
python3 -m venv venv
source venv/bin/activate # On Windows use venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
Create a
.envfile in the backend directory and add:
SPOTIFY_CLIENT_ID=your_client_id
SPOTIFY_CLIENT_SECRET=your_client_secret
SPOTIFY_REDIRECT_URI=http://localhost:5000/callback
To get the client ID and secret:
- Go to: https://developer.spotify.com/dashboard
- Create App: Fill out the necessary details and save.
- Go to your created app > settings and you can find the client id and secret over there.
- Run the Flask server:
cd backend
python3 app.py
- Navigate to the frontend directory:
cd frontend
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Open your browser and go to
http://localhost:5173 - Log in with your Spotify account
- Select a playlist to shuffle
- Enjoy your newly shuffled playlist!
Contributions are welcome! Please feel free to submit a Pull Request.
- Spotify Web API
- Spotify Web Playback SDK
- Spotipy - Lightweight Python library for the Spotify Web API
- Flask
- React
- Vite