A responsive, interactive, and offline-capable Spotify-inspired music streaming web application built using HTML, CSS, and JavaScript. The app includes multiple playlists and allows smooth offline playback using locally hosted songs. Designed with a clean UI, smooth transitions, and mobile-first approach, this project recreates a realistic music player experience without relying on any external API.
-
HTML5 — For page structure and layout
-
CSS3 — For styling, animations, and responsive design
-
JavaScript (ES6) — For dynamic functionality and event handling
-
DOM Manipulation — For rendering playlists and player updates dynamically
-
Event Handling — For user interaction (play/pause, volume, next, etc.)
This project is a Spotify-like web music application developed to enhance and demonstrate front-end skills such as DOM manipulation, event-driven JavaScript, and responsive web design.
It supports:
- Offline playback through locally hosted songs.
- Full audio controls, including volume, loop, and next/previous.
- A mobile-friendly design with smooth transitions and an animated hamburger menu.
✅ Multiple playlists with individual track lists
✅ Play, Pause, Next, and Previous song controls
✅ Volume adjustment and Mute/Unmute functionality
✅ Auto-play next song after the current one ends
✅ Loop playback — restarts from the first song after the last one finishes
✅ Offline playback using locally hosted songs
✅ Fully responsive design optimized for mobile devices
✅ Interactive hamburger menu (open/close animation)
✅ Smooth UI transitions and event-driven interactions
spotify-web-app/
| ├── index.html # Main HTML file
│ ├── CSS |
│ ├── style.css # Main stylesheet for layout & design |
│ └── utility.css # Reusable utility classes
│ ├── JS |
│ └── script.js # Core JavaScript logic and functionality
│ ├── songs/ │ ├── Calm-Canvas/ |
| | |--song1.mp3
| | |--song2.mp3
|-- ...
│ ├── Code-Mode/
|--song1.mp3
|--song2.mp3
|
| | |-- ...
| |
│ ├── Dreamline/
| | |--song1.mp3
| | |--song2.mp3
| | |-- ...
|── .... # Other playlists (Neon Drift, Everyday Wave, Focus Flow etc.)
│
├── svg/
|
│ ├── play.svg
├── pause.svg
│ ├── next.svg
└── ... # Other player icons
│
└── favicon.ico # Website favicon
-
Built using Flexbox and CSS Grid
-
Fully optimized for mobile, tablet, and desktop
-
Includes a hamburger menu with smooth open/close animation
✨ Add playlist creation and editing functionality
✨ Implement shuffle and repeat-one modes
✨ Add lyrics synchronization
✨ Include dark/light mode toggle
✨ Integrate visual waveform animations
Inspired by the Spotify Web Player interface. Developed as a personal learning project to strengthen front-end development skills in HTML, CSS, and JavaScript.
Name : Pankaj Kumar
Email : pankajkumar199922@gmail.com
GitHub : https://github.com/Pankaj2299
Linkedin : https://www.linkedin.com/in/pankaj-kumar-4b3276266