Record Player is a web application that brings the nostalgic experience of vinyl records to your digital Spotify music. This React-based app creates an immersive listening experience with a realistic vinyl interface that animates as your music plays.
- Authentic Vinyl Experience: Watch as the record spins and the needle moves during playback
- Spotify Premium Integration: Stream your Spotify playlists directly within the app
- Playlist Navigation: Browse and select from your personal Spotify library
- Playback Controls: Play, pause, and skip tracks with visual feedback
- Responsive Design: Enjoy the experience on various device sizes
- React.js
- Spotify Web Playback SDK
- Web API
- Tailwind CSS
- Vite
- React Icons
- Spotify Premium account (required for playback functionality)
- Modern web browser
- Node.js and npm for local development
-
Clone this repository:
git clone https://github.com/subhajitroycode/record-player.git cd record-player
-
Install dependencies:
npm install
-
Create a
.env
file in the root directory with your Spotify API credentials:VITE_CLIENT_ID=your_spotify_client_id VITE_REDIRECT_URI=http://localhost:5173
-
Start the development server:
npm run dev
-
Open your browser and navigate to the provided local URL (usually http://localhost:5173)
- Log in with your Spotify Premium account
- Browse your playlists in the horizontal scrolling menu
- Select a playlist to load it onto the virtual record player
- Use the controls beneath the record player to manage playback
- Watch as the vinyl spins and the needle moves during playback
This application requires the following Spotify authorization scopes:
user-read-private
: To verify Premium subscription statususer-read-email
: For account identificationplaylist-read-private
: To access your complete playlist librarystreaming
: To enable playback control through the app
To run this application in development mode, you'll need to:
- Create a Spotify Developer account and register a new application
- Configure your app in the Spotify Developer Dashboard:
- Add
http://localhost:5173
as a Redirect URI - Note your Client ID (no Client Secret needed as we use PKCE)
- Add
- Update your
.env
file with the Client ID
This application can be deployed to any static hosting service:
-
Build the production version:
npm run build
-
Deploy the contents of the
dist
directory to your hosting service -
Remember to add your production URL to the Redirect URIs in your Spotify Developer Dashboard
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Connect with me on:
- X/Twitter: @subhajitroycode
- LinkedIn: subhajitroycode
- Instagram: @subhajitroycode
Project Link: github.com/subhajitroycode/record-player