StealThis .dev
Pages Medium

Video — Portfolio Grid

A cinematic dark portfolio grid for a videographer: thumbnail cards with duration and category badges, hover-scrub that sweeps through preview frames, type filters with animated counts, a letterboxed hero reel, and a full-screen detail lightbox showing credits, gear, and a scrubbable timeline. Monospace timecodes, amber film accents, keyboard-navigable, and fully responsive down to phone widths.

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

Code

A film-forward portfolio page for a freelance videographer. A letterboxed hero reel sets the cinematic tone with black bars and an amber play affordance, then a responsive grid of project cards follows — each carrying a category tag, a monospace duration badge, and a gradient poster frame. Filter chips across the top switch the visible set by type (Commercial, Music Video, Documentary, Short Film) with live counts, and the grid re-flows with a soft stagger.

Hovering a card triggers a scrub: the poster cross-fades through a sequence of gradient preview frames while a thin amber progress line sweeps left to right, mimicking a video timeline preview. Every card is keyboard-focusable, and pressing Enter or clicking opens a full-screen detail lightbox with the project’s title, client, role, gear list, a synopsis, and a scrubbable timeline you can drag or arrow-key through to update the displayed timecode.

The whole thing runs on vanilla JS — no frameworks. A tiny toast helper confirms actions like copying a share link, the lightbox traps focus and closes on Escape or backdrop click, and a prefers-reduced-motion guard disables the scrub animation for users who ask for less motion.