StealThis .dev
Pages Medium

Music — Artist Page (hero · top tracks · about)

A dark, immersive streaming-style artist profile for the fictional act Neon Tides, built in plain HTML, CSS, and vanilla JS. A full-bleed hero with a CSS-drawn animated banner pulls its accent from the artist color, framing a verified name, monthly-listener count, and a Play, Follow, shuffle, and more actions row. A Popular top-tracks list shows rank, cover, play counts, and durations with hover-play and a live equalizer on the active track, backed by a discography strip, an About card, a Fans also like row, and a now-playing bar with a working scrubber.

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

Code

Artist Page (hero · top tracks · about)

A full streaming-style artist profile for the fictional synth-pop act Neon Tides, rendered entirely in CSS — no images. The hero is a full-bleed banner of drifting gradient blobs and a halftone grain that fade into the page background, with the accent color pulled from the artist theme so the Play button, equalizer, and active states all feel coordinated. Above the giant display-font name sit a verified badge and a live monthly-listeners count, with a circular Play, a Follow toggle, and shuffle / more actions beneath.

The Popular section is a numbered top-tracks list: each row shows a CSS cover, title, formatted play count, like heart, and duration. Hovering a row swaps the rank number for a mini play button, and the currently playing track flips to a four-bar animated equalizer in the artist accent. Show more expands the list from five to eight tracks. Below, a horizontally scrollable Discography strip of album cards (with a hover reveal play button and a spinning-disc motif), an About card with bio and stat blocks, and a Fans also like artist row round out the page.

Interactions are all vanilla JS: clicking a track or the hero Play starts a simulated playback engine driven by a timer, advancing a fixed now-playing bar at the bottom with a keyboard-accessible role="slider" scrubber (drag, arrow keys, Home/End), auto-advancing to the next track at the end. Play/pause, follow (which nudges the listener count), per-track like hearts, shuffle, and show-more all toggle their aria state, and a small toast() helper confirms each action. Motion respects prefers-reduced-motion, and the layout reflows cleanly down to ~360px.

Illustrative UI only — fictional artists, albums, tracks, and data. No real audio playback.