StealThis .dev

Podcast — Search Episodes

An audio-first episode finder with a live search box, show, duration and date filters that narrow a dark card list in real time. Results update instantly with a running count, animated waveform accents and glowing play buttons, plus a graceful empty state and a one-tap reset. Fully keyboard-navigable, responsive down to 360px and built with vanilla JS — no dependencies, no build step, ready to drop into any podcast site.

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

Code

A focused, audio-first search experience for browsing a podcast back catalog. A prominent search field filters episodes by title, show and guest as you type, while a row of controls lets you scope results to a specific show, a duration bucket (short, medium or long) and a publish window. Every keystroke and filter change re-runs the query, updates a live result count in the results header, and animates the matching cards into view.

Each result is a dark card with a gradient waveform accent, a glowing violet play button, show and duration badges, and a relative publish date. Hover lifts the card and brightens its border; the play button pulses and toggles between play and pause states with an inline toast confirming the action. When no episodes match, a dedicated empty state appears with a clear reset button that restores every filter at once.

The whole component is keyboard-usable with visible focus rings, uses aria-live to announce result counts to screen readers, and collapses its filter row into a single column below 520px. It ships as three plain files — no framework, no build tooling — so it can be embedded directly into any static or server-rendered podcast site.