Built with HTML5, CSS3, Bootstrap 5 and vanilla JavaScript.
๐ Live Demo: https://beatflow-by-naved.vercel.app/
๐ GitHub Repository: https://github.com/naved2001/Beatflow_by_naved
- ๐ต Play local demo tracks
โถ๏ธ Play / pause controls- ๐ Search songs and artists
- ๐ง iTunes Search API integration
- ๐ผ๏ธ Dynamic album artwork
- ๐ Audio preview playback
- ๐ฑ Responsive layout for desktop, tablet and mobile
- โณ Search loading state
- โ Friendly empty/error states
- ๐จ Glassmorphism-style UI
- โป๏ธ Clean asset and source-code structure
- HTML5 โ page structure
- CSS3 โ custom styling and responsive design
- Bootstrap 5.3 โ responsive grid and utilities
- JavaScript (ES6+) โ player logic, DOM manipulation and API integration
- iTunes Search API โ song metadata, artwork and preview URLs
- Google Fonts / Poppins โ typography
Beatflow_by_naved/
โ
โโโ assets/
โ โโโ audio/
โ โ โโโ blinding_lights.mp3
โ โ โโโ kesariya.mp3
โ โ โโโ shape_of_you.mp3
โ โ โโโ unstoppable.mp3
โ โ
โ โโโ images/
โ โโโ favicon.png
โ
โโโ css/
โ โโโ style.css
โ
โโโ js/
โ โโโ appleMusic.js
โ
โโโ screenshots/
โ โโโ README.md
โ
โโโ .gitignore
โโโ index.html
โโโ README.md
BeatFlow searches the iTunes catalog using the iTunes Search API.
User enters artist/song
โ
Form submission
โ
iTunes Search API
โ
Song metadata returned
โ
Results displayed
โ
User selects a song
โ
Artwork + preview URL loaded
โ
Audio preview plays
The project uses JSONP for the cross-site iTunes Search request. This is important for a static frontend because the browser can otherwise encounter CORS/redirect issues when making a direct fetch() request.
Apple's documentation specifically describes dynamic script tags / JSONP for cross-site Search API requests.
git clone https://github.com/naved2001/Beatflow_by_naved.gitcd Beatflow_by_navedYou can open index.html directly, but VS Code Live Server is recommended.
For example:
http://127.0.0.1:5500/
The project includes local demo audio files:
- Shape of You โ Ed Sheeran
- Kesariya โ Arijit Singh
- Blinding Lights โ The Weeknd
- Unstoppable โ Sia
The layout adapts to different screen sizes:
- ๐ป Desktop
- ๐ป Laptop
- ๐ฑ Mobile
- ๐ Tablet
The Bootstrap grid and custom media queries are used to keep the player and search sections usable on smaller screens.
This project helped me practice:
- DOM selection and manipulation
- Event listeners
- Form submission
- Async JavaScript
- API integration
- JSON / JSONP responses
- Dynamic element creation
- Audio playback
- Error handling
- Responsive CSS
- Bootstrap grid
- Organizing frontend assets
- โค๏ธ Favorite songs
- ๐ Playlists
- โญ๏ธ Next / Previous controls
- ๐ Shuffle
- ๐ Repeat
- ๐ Custom volume control
- ๐๏ธ Custom progress bar
- ๐พ LocalStorage
- ๐ Dark/light theme
- ๐ค Lyrics
- ๐ Deploy with GitHub Pages
Naved Ansari
Built with โค๏ธ while learning JavaScript and frontend development.
If you found this project useful, consider giving the repository a โญ on GitHub.
This project is created for learning and portfolio purposes.



