StealThis .dev

Portfolio — Work Grid + Filter

A filterable portfolio work grid with category chips (All, Product, Web, Branding, Motion), a Recent/A–Z sort, and live result counts. Tiles use CSS-gradient thumbnails, titles, years, and craft tags, and reflow with a FLIP-style animation as you filter and sort. Each tile opens an accessible quick-look dialog with project detail, and an empty state appears when a category has no matches. Vanilla JS, no images, no dependencies.

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

Code

Work Grid + Filter

A drop-in projects section for a single-person portfolio. Category chips (All, Product, Web, Branding, Motion) filter a responsive tile grid, each chip carrying its own live count. A sort control re-orders the visible work by Most recent or Title A–Z, and a result line announces how many projects are showing.

Filtering and sorting animate the tiles with a FLIP-style reflow: existing tiles glide to their new positions while entering tiles fade and rise into place, so the grid never jumps. Tiles render from a small data array with CSS-gradient thumbnails, a craft badge, title, year, and tags — no external images. Clicking a tile opens a focus-trapped quick-look dialog (Escape, scrim click, or close button to dismiss) with a longer description and tags. When a category is empty, a tidy empty state offers a one-click reset back to all projects.

Everything is keyboard-usable with visible focus rings, aria-pressed chips, a live result region, and reduced-motion support. Pure HTML, CSS, and vanilla JavaScript — paste it in and swap the project data for your own.

Illustrative portfolio — fictional person and projects.