Animated Portfolio

Personal Project · 2024

Next.js
React
React Three Fiber
Three.js
Drei
Rapier
GSAP
ScrollTrigger
Lenis
Zustand
SCSS Modules
GLSL
react-transition-group
https://animated.portfolio.gyanranjanpriyam.tech
Animated Portfolio Desktop View

Desktop view · Animated Portfolio

Overview

A visually immersive personal portfolio built from scratch with Next.js 14, layering three distinct rendering layers — a persistent WebGL 3D background, a GSAP-animated DOM content layer, and a real-time fluid simulation overlay — all composited together in the browser.

The 3D background is powered by React Three Fiber, Three.js, Drei, and the Rapier physics engine, creating a living, depth-rich backdrop that responds to scroll and viewport state. "Window" cutouts in the DOM layer let the 3D scene bleed through for a dimensional, layered effect.

A full-viewport WebGL fluid dynamics simulation driven by cursor movement sits above everything, using mix-blend-mode to produce a painterly, organic texture across the entire interface. GSAP and ScrollTrigger drive all scroll-triggered reveals and custom page transitions.

Key Highlights

(8)
01

Three-layer composited rendering: WebGL 3D + DOM + fluid simulation overlay

02

Real-time WebGL fluid dynamics driven by cursor movement via GLSL shaders

03

React Three Fiber 3D scene with Rapier physics engine

04

Custom GSAP-powered page transitions with react-transition-group

05

Responsive 16-column (desktop) / 6-column (mobile) grid system

06

Fluid vw-based typography with Neue Haas Grotesk Display Pro

07

Smooth scroll via Lenis with GSAP ScrollTrigger integration

08

72% JavaScript, 26.5% SCSS, 1.3% GLSL — a truly custom build

Features Included

(13)
</>

Persistent WebGL 3D background scene with scroll & viewport reactivity

</>

Real-time fluid simulation overlay with mix-blend-mode compositing

</>

GSAP ScrollTrigger scroll-triggered content reveals (AppearTitle / AppearBlock)

</>

Custom GSAP page transitions via react-transition-group

</>

Shaped box-shadow "window" cutouts for 3D bleed-through effect

</>

GSAP-animated tooltip cards rendered via React portals

</>

Animated noise texture overlay via CSS pseudo-element

</>

Lenis smooth scroll throughout

</>

Zustand global state management

</>

Responsive CSS grid with custom properties (vw-based sizing)

</>

Project listing & dynamic project detail pages

</>

About section with overview, services, and process

</>

SEO-ready with next-sitemap and Vercel hosting

Tech Stack

(13)
Next.js
React
React Three Fiber
Three.js
Drei
Rapier
GSAP
ScrollTrigger
Lenis
Zustand
SCSS Modules
GLSL
react-transition-group