DEV Community

Zain Ul Abideen
Zain Ul Abideen

Posted on

Beyond the Boring Resume: How I Built an Immersive AI Portfolio with React & Spline

As a Full Stack & AI/ML Engineer, my daily workflow involves architecting LLM pipelines, scaling backend infrastructure, and dealing with complex data layers. But when it came to presenting my own work, I realized something: traditional PDF resumes and basic grid portfolios are boring.

They tell people what you can do, but they completely fail to show it.

I decided to stop telling people I write high-performance code and start proving it. I set out to build an immersive, 3D-interactive, and highly optimized personal portfolio that feels less like a document and more like a modern tech product.

You can check out the live result here: Zain Ul Abideen — Interactive Portfolio

Here is a breakdown of the architecture, stack, and extreme performance optimizations that went into building it.

The Architecture & Tech Stack
To achieve an immersive experience without sacrificing speed, I chose a very specific stack:

Core Framework: React 19 + Vite (for lightning-fast HMR and minimal bundle sizes).
3D Rendering: Spline / WebGL (for the interactive Hero-section assets).
Animations: GSAP (ScrollTrigger) & Framer Motion (for buttery-smooth view transitions).
Styling: TailwindCSS v4 with custom raw CSS variables for a dynamic glassmorphism aesthetic.
Deployment: Netlify with advanced global edge caching.
My goal was to create a dark-themed, data-driven aesthetic. When a user lands on the site, they are greeted by an interactive 3D WebGL element, a custom AI Neural Particle background, and hardware-accelerated scroll animations showcasing my real-world projects (like my AI-powered Resume Analyzer and LLM Agents).

The Challenge: Taming Performance and Memory Limits
Building 3D websites looks incredible, but there is a massive catch: Memory Leaks and GPU Bottlenecks.

When developing the background and integrating the 3D , Chrome’s memory usage immediately spiked past 600MB. If someone opened the site on a mid-range mobile device, it would stutter, roast their battery, and ruin the experience.

To solve this, I applied aggressive performance engineering:

  1. Viewport Culling & Hardware Acceleration I utilized the CSS content-visibility: auto; property across all major React sections. This natively forces the browser’s engine to skip rendering the layout and painting of DOM nodes that are off-screen, instantly slashing layout thrashing and saving hundreds of megabytes of RAM.

  2. Dynamic Resource Throttling For the floating Neural Particle background, calculating the $O(n^2)$ distance between hundreds of nodes on every requestAnimationFrame was destroying the CPU.

I wrapped the canvas inside an IntersectionObserver. When you scroll past the Hero section, the animation loop is completely halted.
I used react-responsive to detect the device type. If a user is on mobile, the particle density is dynamically slashed by 60%, drastically reducing the computational load.

  1. Bypassing Lenis for Mobile I love the buttery smooth scroll of the Lenis library for desktop users. But on mobile phones, overriding the OS-level momentum scrolling is a cardinal sin. I configured the scroll engine to completely disable itself on viewports below 768px, ensuring that mobile users get 120Hz native hardware scrolling.

Beating the "White Screen of Death" for SEO
A heavily interactive SPA is notoriously hard for Googlebot to index. Because Google's headless crawler strictly limits WebGL contexts, my 3D Spline component was throwing an invisible JavaScript Error to the bot. In React, an unhandled error inside a component lifecycle completely unmounts the DOM—giving Googlebot a blank white screen.

I architected a custom React layer. If the browser completely lacks a WebGL context (like Google’s crawler), the boundary silently swallows the crash and renders a graceful static fallback (fallback={null}). As a result, Google instantly indexes the 150+ semantic AI/ML keywords injected into my root layout.

Showcasing Applied AI
As an applied AI engineer building RAG pipelines and intelligent agents, a portfolio isn’t just about making things look pretty—it’s about demonstrating value.

I integrated a dedicated Projects carousel leveraging a CSS Grid overlay (grid-area: 1 / 1) to eliminate wait-state rendering. This handles simultaneous crossfading for complex projects like my integrated AI Resume Analyzer, Agentic Chatbots, and Next.js / Stripe platforms without dropping frames.

Conclusion
A portfolio project is never "done," but pushing this site to production reinforced my core engineering philosophy: Ship fast, refactor with intent, measure everything.

Building a web app that looks like a video game but performs like a static document was an incredible exercise in browser mechanics, memory management, and modern React patterns.

If you are looking for an engineer to architect, scale, or integrate AI into your next big idea, my inbox is always open.

👉 Let's Connect on LinkedIn 👉 View the Live Portfolio

Top comments (0)