DEV Community

Cover image for Building an Immersive Creative Portfolio: Blending WebGL, GSAP, and Fine Art
Aniket Dubey
Aniket Dubey

Posted on

Building an Immersive Creative Portfolio: Blending WebGL, GSAP, and Fine Art

When most developers build a portfolio, they often reach for a standard template: a hero banner, a grid of project cards, and a contact form.

Coming from a background as both a Creative Technologist and a Hyperrealistic Fine Artist, I wanted my digital space to feel fundamentally different. I wanted it to reflect the obsessive precision of a 100-hour graphite drawing combined with the kinetic fluidity of modern web engineering.

In this article, I will share the architectural decisions, animation techniques, and performance optimizations behind building my personal portfolio: Aniket Dubey — Creative Technologist.


🎨 1. The Core Philosophy: Fine Art Meets Computation

In traditional hyperrealistic art, every single pore, iris reflection, and fiber texture requires patience and acute spatial awareness. One of my proudest milestones was hand-drawing a hyperrealistic graphite portrait of India's Prime Minister Narendra Modi and personally presenting it to him.

When transitioning into software engineering, I realized that code is simply another creative medium. Shaders, canvas manipulation, and DOM transformations require the exact same discipline:

  • Understanding light, depth, and perspective.
  • Obsessing over frame times and visual micro-details.
  • Designing interfaces that evoke genuine emotional response.

You can explore both the engineering experiments and traditional drawings on my Selected Work Gallery.


⚡ 2. Technical Architecture & Stack

To keep the site blazing fast while delivering heavy visual fidelity, the architecture is built on lightweight, performance-first foundations:

  • Engine: Static HTML5 / Modern JavaScript Architecture
  • Animation & Motion: GSAP (GreenSock Animation Platform) + Custom ScrollTriggers
  • Interactive Typography: Custom 120fps Text-Pressure Engine with Variable Fonts (Compressa VF)
  • 3D & Canvas: Pixi.js / WebGL for interactive depth & parallax effects
  • Media Delivery: Multi-tier CDN caching with Cloudinary asset optimization
  • Hosting & Edge Delivery: Vercel Edge Network with HTTP/2 and 200 OK root routing

🚀 3. Key Engineering Highlights

A. 120fps Kinetic Typography (Zero Layout Thrashing)

Instead of relying on heavy CSS hover states that cause reflows, the hero section utilizes a custom text-pressure algorithm that tracks cursor distance in 2D space:

// Calculate cursor proximity without layout reflow
const dist = (a, b) => {
  const dx = b.x - a.x;
  const dy = b.y - a.y;
  return Math.sqrt(dx * dx + dy * dy);
};

const getAttr = (distance, maxDist, minVal, maxVal) => {
  const val = maxVal - Math.abs((maxVal * distance) / maxDist);
  return Math.max(minVal, val + minVal);
};
Enter fullscreen mode Exit fullscreen mode

By pre-caching character center coordinates and updating variable font axes (wght, wdth) directly via GPU-accelerated transforms, the title responds instantaneously under cursor movement with zero dropped frames.

B. High-Resolution Art Loading Without Bottlenecks

Showcasing detailed 4K art scans on the web usually crushes Core Web Vitals. To solve this:

  1. Assets are served through an automated image pipeline converting scans into responsive WebP formats based on viewport size.
  2. Progressive blur-up placeholders ensure layout stability (preventing Cumulative Layout Shift, CLS = 0).
  3. Image decoding is offloaded asynchronously (decoding="async").

C. Context-Aware AI Companion

Rather than a generic chatbot widget, the portfolio features an integrated conversational assistant capable of answering questions about technical stack details, creative workflows, or art commission guidelines in real-time.


💡 4. Key Takeaways for Developers Building Portfolios

If you are looking to elevate your own developer portfolio, here are 3 principles that made the biggest impact:

  1. Don't hide your unique personality: If you have passions outside pure coding (music, 3D render, sketching, writing), weave them directly into the UX. It makes your profile memorable.
  2. Prioritize Motion with Intent: Animations shouldn't feel like random decorative clutter. Use GSAP and physics-based motion to guide the visitor's eye naturally down the page.
  3. Optimize the Foundations First: A visually stunning site is useless if it takes 5 seconds to load. Clean JSON-LD schemas, strict asset budgets, and zero redirect hops make search engines love your site as much as human visitors do.

🌐 Live Experience & Feedback

The entire experience is live now. I would love to hear your thoughts, feedback on performance, and design critiques!

Feel free to leave a comment below with your feedback or any questions about the animation pipeline!

Top comments (0)