Components & Motion
2025A 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/`.