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-playerInstall dependencies:
npm install
Create a
.envfile in the root directory with your Spotify API credentials:VITE_CLIENT_ID=your_spotify_client_id VITE_REDIRECT_URI=http://localhost:5173Start 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:5173as a Redirect URI - Note your Client ID (no Client Secret needed as we use PKCE)
- Add
- Update your
.envfile 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
distdirectory to your hosting serviceRemember 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
