StealThis .dev

Podcast — Audio Player

A full dark-mode podcast player with a real HTML audio element, an animated gradient waveform you can scrub to seek, glowing play and pause controls, skip 15 seconds forward or back, adjustable playback speed from 1x to 2x, a volume slider with mute, live current-time and duration readouts, episode art and a chapter list.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

A production-ready podcast audio player built around a real <audio> element, so every control drives genuine playback. The centerpiece is an animated waveform rendered as a row of gradient bars (violet to cyan); the played portion glows while the unplayed portion dims, and clicking or dragging anywhere on the waveform seeks the track. A large glowing play/pause button sits beside skip-back and skip-forward controls that jump 15 seconds each way.

Below the transport, a speed toggle cycles through 1x, 1.5x and 2x, and a volume slider with a mute button controls output level with a live fill indicator. Current time and total duration update every frame, and the episode art, title and show name anchor the card. A scrollable chapter list lets listeners jump straight to a timestamped segment, with the active chapter highlighted as playback moves.

Everything is keyboard-usable with visible focus rings, announced through ARIA labels, and responsive down to 360px where the layout stacks the art above the controls. A small toast confirms actions like changing speed or muting. No frameworks, no build step — just HTML, CSS and vanilla JavaScript.