AD.
INITIALIZING_SYSTEM
000%
AD.
PROJECT 01DTC E-Commerce / 3D Web · 2026

BodyBarrel

A luxury Korean-inspired skincare DTC e-commerce storefront featuring interactive 3D WebGL physics, pinned routine transitions, and high-conversion checkout.

RoleFull-Stack & Creative Developer
Timeline4 weeks
Core StackNext.js 16, React 19, Three.js / R3F
Live Site ↗GitHub ↗
BodyBarrel - Screenshot and interface preview
60fps

WebGL render target

98%

Performance score

3D

Interactive canvas

// The Objective

Problem & Context

BodyBarrel is an advanced DTC bodycare and cosmetic brand engineered around cellular skincare science and biodegradable surfactants. The project required creating an ultra-premium digital flagship that merges editorial beauty aesthetics with cutting-edge web technologies—including real-time 3D WebGL product visualization, smooth inertial scrolling, dynamic ingredient interactions, and a persistent shopping bag.

The Core Bottleneck:

High-end beauty consumers demand fluid, tactile, editorial-grade digital interactions. Achieving 60 FPS WebGL rendering, physics-based glass simulations, and pinned multi-step routine sections without sacrificing mobile responsiveness or page load speeds posed a substantial engineering challenge.

// The Solution

Engineering Strategy

Architected a high-performance web storefront combining Next.js 16 App Router with React 19, Three.js, and React Three Fiber. Implemented Lenis smooth inertia scrolling, GSAP ScrollTrigger for pinned formulation steps, an optimistic Zustand shopping bag store, and serverless edge caching for instantaneous checkout transitions.

Built on Next.js 16 with React 19 and Tailwind CSS v4. Leveraged React Three Fiber, Drei, and OGL for 3D glass bubble simulations and shader effects. Powered on the backend by Supabase / PostgreSQL via Prisma ORM for inventory and product specifications, with Stripe checkout webhooks and Cloudflare edge network deployment.

// Decisions

Architectural & Technical Choices

DECISION 01

Leveraged React Three Fiber with custom post-processing shaders for interactive 3D product visuals with sub-50ms paint times.

DECISION 02

Built pinned multi-step routine breakdown using GSAP ScrollTrigger with scrubbed timeline animations.

DECISION 03

Engineered a lightweight, persistent client cart with Zustand supporting instant slide-out drawers and optimistic updates.

DECISION 04

Adopted Tailwind CSS v4 and dynamic client-component code splitting to achieve near-perfect Core Web Vitals.

// Problem Solving

Engineering Challenges Overcome

⚠️ Challenge: 3D WebGL shaders and heavy geometry dropping frames on mid-tier mobile GPUs.

✓ Solution: Implemented dynamic level-of-detail (LOD) scaling, disabled computationally expensive post-processing passes on mobile viewports, and deferred non-critical canvas renders.

⚠️ Challenge: Maintaining instant cart interactions and preventing layout shift during complex slide-out transitions.

✓ Solution: Utilized Zustand with local storage persistence and Framer Motion spring physics for smooth, non-blocking drawer animations.

// Capabilities

Shipped Product Features

Interactive 3D WebGL cosmetic product and glass bubble physics viewer
Pinned step-by-step skincare routine showcase with scroll-linked GSAP animations
High-performance slide-out cart drawer with optimistic state updates via Zustand
Mobile-first responsive layout with Embla carousel product carousels
Integrated Stripe payment gateway and webhook reconciliation
Full Schema.org Product, Organization, and Merchant structured data for rich search visibility
Technologies & Frameworks
Next.js 16React 19Three.js / R3FGSAPZustandTailwind CSSStripeSupabase
← Previous Case StudyManagement DashboardNext Case Study →Tesca Visa Workflow CRM