Obsidian 3D Portfolio with Scroll-Triggered Web AnimationsObsidian 3D Portfolio with Scroll-Triggered Web Animations
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
𝑨 𝒑𝒆𝒓𝒔𝒐𝒏𝒂𝒍 π’‘π’π’“π’•π’‡π’π’π’Šπ’ π’ƒπ’–π’Šπ’π’• 𝒕𝒐 π’”π’‰π’π’˜ π’‰π’π’˜ 𝑰 π’…π’†π’”π’Šπ’ˆπ’ 𝒂𝒏𝒅 𝒅𝒆𝒗𝒆𝒍𝒐𝒑 𝒇𝒐𝒓 𝒕𝒉𝒆 π’˜π’†π’ƒ, 𝒏𝒐𝒕 𝒋𝒖𝒔𝒕 π’…π’†π’”π’„π’“π’Šπ’ƒπ’† π’Šπ’•.
The concept is β€œObsidian”: glossy black 3D loops floating behind graphite glass panels, with smooth scroll and scroll-triggered animation throughout.
What I built
Real-time 3D scene with React Three Fiber (three.js)
Scroll animations with GSAP + ScrollTrigger
Smooth scrolling with Lenis
Custom cursor and preloader
Fully responsive, respects reduced-motion settings
3D loads in a separate chunk, so the page paints fast
Falls back to a clean graphite background if WebGL isn’t available
Stack: React 18, Vite, Three.js, GSAP, Lenis
Vansita's avatar
Love the reduced motion support.
Muhammad's avatar
Thanks😊
Back to feed
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started