โ† Back to Projects

MRPS MUSIC โ€” Web Audio Player & Vinyl Turntable

A sleek, glassmorphic web audio player featuring an interactive vinyl turntable simulation, WebGL 2.0 ambient procedural shader, and responsive mobile interface. Built with vanilla HTML, modern CSS, WebGL 2.0 shaders, and clean client-side JavaScript โ€” zero build steps, bundlers, or heavyweight frameworks required.


Highlights & Features

1. Structured Playlist Management


2. Audio Playback Engine & Direct Single-Track Resolution


3. Android Auto & Vehicle Integration


4. Chrome PWA & WebAPK Installation (โ€œInstall as Appโ€)


5. Mobile Friendly & Responsive UI


6. Universal Search & Track Discovery


7. Interactive Vinyl Turntable & Tonearm


8. Interactive Audio Scrubber & Queue


9. Liquid Glassmorphism & WebGL 2.0 Shader


10. Controls, Shortcuts & Media Session


Project Structure

.
โ”œโ”€โ”€ index.html                           # Main player markup & responsive structure
โ”œโ”€โ”€ manifest.webmanifest                 # PWA Web App Manifest & Android Auto configuration
โ”œโ”€โ”€ sw.js                                # Service Worker with offline caching for WebAPK
โ”œโ”€โ”€ _headers                             # Cloudflare Pages caching, security & MIME rules
โ”œโ”€โ”€ assets/
โ”‚   โ”œโ”€โ”€ css/
โ”‚   โ”‚   โ””โ”€โ”€ styles.css                   # Glassmorphism styling, animations & 100dvh safe-area layout
โ”‚   โ”œโ”€โ”€ js/
โ”‚   โ”‚   โ”œโ”€โ”€ app.js                       # Audio engine, Media Session, search system & queue logic
โ”‚   โ”‚   โ”œโ”€โ”€ data.js                      # Playlist data and track catalog
โ”‚   โ”‚   โ””โ”€โ”€ shader.js                    # WebGL 2.0 procedural ambient background shader
โ”‚   โ””โ”€โ”€ icons/
โ”‚       โ”œโ”€โ”€ icon.svg                     # Scalable vector app icon
โ”‚       โ”œโ”€โ”€ icon-192.png                 # 192x192 PWA & mobile icon
โ”‚       โ””โ”€โ”€ icon-512.png                 # 512x512 Android Auto, WebAPK & splash icon
โ”œโ”€โ”€ update_playlists.py                  # Python maintenance scraper with single-track duration filters
โ”œโ”€โ”€ .github/
โ”‚   โ””โ”€โ”€ workflows/
โ”‚       โ””โ”€โ”€ update_playlists.yml         # GitHub Actions automated workflow
โ””โ”€โ”€ README.md                            # Comprehensive project documentation

Deployment & Cloudflare Pages Setup

music.mrps.in (Clean, professional, and intuitive).

Deploying to Cloudflare Pages:

Method 1: Direct Upload (Drag & Drop)

A clean, standalone upload folder or ZIP archive can be built directly from the repository source: 1. Go to Cloudflare Dashboard โ†’ Workers & Pages โ†’ Create application โ†’ Pages โ†’ Direct Upload. 2. Drag and drop the upload folder (or .zip archive). 3. Click Deploy site. 4. Go to Custom domains โ†’ enter music.mrps.in.

Method 2: Git Integration

  1. Connect repository maniratansingh/aesthetic-music-player and select branch beta (or test).
  2. Build command: (leave empty)
  3. Build output directory: / (or leave empty)
  4. Go to Custom domains โ†’ enter music.mrps.in.

Architectural Summary

Layer Technology Purpose
Visual Effects WebGL 2.0 / GLSL ES 3.0 Real-time procedural ambient background animation
Catalog window.RoadtripData Local playlist configuration with track metadata
Search Metadata Public Search API Fast public metadata with high-resolution album artwork
Audio Stream Embedded Player API Viewport-anchored media container (.yt-audio-frame)
Track Resolution Public Resolver API Direct single-track ID resolution
Car Integration W3C Media Session API Android Auto steering wheel, dashboard scrubber & Bluetooth AVRCP
Mobile PWA WebAPK + Service Worker Native installable Android app with offline caching (sw.js)
Screen Wake Lock W3C Screen Wake Lock API Prevents browser sleep during highway road trips
CI Automation GitHub Actions + yt-dlp Weekly scheduled maintenance with duration guardrails

Disclaimer

MRPS MUSIC is an independent, non-commercial open-source web application designed for personal use and UI design experimentation. This project: - Does not host, store, or distribute any audio or video files. - Does not advertise any music catalog, artist, or commercial music service. - Does not offer or promise an uninterrupted media playback service or a modified third-party platform experience. - Adheres to standard official third-party embed lifecycles and terms of service. All music rights, compositions, album artwork, and audio streams remain the intellectual property of their respective creators and copyright holders.



โ† Back to Projects