All lab work

Components & Motion

2025

A sampler of reusable UI primitives and motion experiments built for this portfolio and the campaign site — grain-gradient shaders, morphing text, and a portfolio gallery.

Stack

  • React
  • TypeScript
  • Motion
  • Paper Design Shaders
  • CSS
Role
Design + Build

The motion and UI primitives I keep reaching for: GrainGradient (WebGL shader), GooeyText (SVG morph between words), PortfolioGallery (marquee + layout-aware hover), LampContainer (radial spotlight with gradient conic). Each is built to drop into a new project with minimal theming — styled with Tailwind v4 tokens and the site's accent palette.

I keep these small enough to copy-paste rather than ship as a package. Each lives under `src/components/ui/` and `src/components/shaders/`.