Inspiration
Apple's Dynamic Island redefined how smartphones surface background activity. But it's locked to iPhone hardware. Browsers — where most people actually listen to music while working — have nothing equivalent. I wanted to build that missing piece: a persistent, beautiful, ambient media layer that lives inside the browser itself.
What It Does
Glance (V1.6) is a browser extension that injects an Apple-style Dynamic Island into every webpage. When no media is playing, it's a tiny idle dot. When music starts, it animates into a pill showing the track name. Hover to expand it into a full control surface with:
- Album art with real-time color extraction that themes the entire UI
- Play/pause, skip, shuffle, and repeat controls with platform-native icons
- A 60FPS progress bar with sub-second accuracy
- Live synchronized lyrics with word-by-word fill animation
- Global keyboard shortcuts that work from any tab
- An AMOLED Black mode that switches to pure black with accent colors
- Picture-in-Picture teleportation that pops out the video in one click
It works across Spotify, Apple Music, YouTube, and YouTube Music — each with isolated extraction logic tuned to that platform's unique DOM.
The Design Philosophy
Every animation uses iOS spring curves (cubic-bezier(0.32, 0.72, 0, 1)) for that native Apple feel. The idle-to-pill collapse animates max-width, opacity, margin, and padding simultaneously — not display: none — to avoid layout snapping. The play button uses frosted glass (backdrop-filter: blur(8px)) to feel distinct from the flat media controls. Active shuffle/repeat buttons get platform-specific indicators: Spotify gets a dot below the icon, Apple Music gets a color tint, YouTube gets its native styling.
The lyrics panel uses a vertical blur mask (mask-image: linear-gradient(...)) so lyrics fade in at the top and bottom, keeping focus on the active line. Non-Latin lyrics (Korean, Japanese) get an instant Romanization overlay via Google Translate.
How I Built It
AI tools (Antigravity 2.0, Claude) generated the code syntax. I directed all product decisions, architecture, and debugging. Key challenges I personally solved:
- The PiP teleportation system — browsers block background PiP requests, so I engineered a tab-switch-inject-switch-back pipeline
- Apple Music's Content Security Policy blocking all script injection — solved via Firefox's
wrappedJSObjectand Chromium'sworld: 'MAIN'execution contexts - Host CSS bleeding — sites like YouTube and GitHub apply global CSS resets that broke the island's layout. Fixed with surgical
!importantresets on every UI element
The entire UI is built with pure vanilla JS and CSS — zero frameworks — for maximum rendering performance.
What's Next
Chrome Web Store publication, Web Audio API real-time visualizer, and a cascading lyrics fallback system querying additional providers.
Built With
- api
- chrome
- css3
- dom-manipulation
- html5
- javascript
- manifest-v3
- node.js
- ui-design
Log in or sign up for Devpost to join the conversation.