vm-portfolio · zsh
Vansh Malhotra · AI Engineer · Booting cinematic layer
Vansh Malhotra · PortfolioLet's talk

About this site

The portfolio, reverse-engineered.

A short tour of how this site is built — the stack, the pipeline, and the small details that add up to a cinematic feel.

Stack

The pieces that make it feel cinematic.

  • Next.js 14
    App Router, JS, fully static
  • React 18
    Client-side islands where needed
  • Framer Motion
    Reveal, layout, exit, gesture animations
  • GSAP
    Hero entrance timeline
  • CSS Modules
    Co-located styles, no Tailwind
  • Web Audio API
    Synthesized UI sounds — zero audio files
  • Vercel
    Edge deploy, free tier

Build pipeline

An AI-to-code cinematic pipeline.

  1. Phase 1

    Identity-consistent 3D avatar

    A stylized 3D render that anchors the visual brand across the site (used in About).

  2. Phase 2

    Cinematic talking-head video

    AI-generated motion video, used full-screen as the hero with ambient blur fallback.

  3. Phase 3

    Frontend cinematic engineering

    Next.js + Framer Motion + GSAP. Designed for performance: ~170 KB First Load JS, every route prerendered as static HTML.

Under the hood

Eight small details that add up.

Cinematic preloader

Terminal-style boot sequence streams lines with pitched synth ticks. Curtain wipes up with a boot sweep + chime, signalling the hero video to start.

Talking-head with voice

Foreground video plays once with audio after the preloader, then pauses on its final frame. A blurred ambient duplicate keeps drifting silently behind for atmosphere.

Custom cursor

A center dot tracks 1:1 while a soft trailing ring eases with spring physics. Mix-blend-mode keeps it visible on light or dark surfaces. Auto-disabled on touch devices.

Always-on UI sounds

Click, hover, success, tick, and boot voices are oscillator-based. The whole engine is ~120 lines of JS. No mp3s, no licensing.

Inline GameDock

A floating launcher offers three quick games — Stack Memory, Reaction, Word Scramble — without ever leaving the portfolio. Modal lifts with Framer Motion.

Animated SVG project posters

Each work card has a hand-drawn animated SVG that visualizes what the project does — agent graphs, microservice mesh, browser cursor sweeps, eval bars.

Neural-network skill backdrop

The toolbox section runs a canvas particle system that connects nearby nodes and reacts to the cursor. Pure 2D canvas, no Three.js.

Cinematic motion language

Every transition uses the same easing curve (cubic-bezier 0.22, 0.61, 0.36, 1) and slow durations. The vibe is intentional, not bouncy.