← All articles

[ Blog ]

July 10, 2026

7 min read

Category: Guides

WebGL Developer for Designers: The Huy Phan Partnership

A WebGL developer for designers on the recurring partnership with Awwwards juror Huy Phan — how his award-level designs get built in GSAP, Three.js and Next.js at full fidelity.

PartnershipWebGLGSAPThree.jsAwwwardsDesignerFront-End Development
WebGL Developer for Designers: The Huy Phan Partnership

Most award-winning websites you've seen are two people, not one. A designer authors the concept; a developer makes it move, hold 60fps, and survive a real device. When the designer is world-class, the developer becomes the deciding variable — the distance between a stunning Figma file and a site that actually breathes is entirely engineering. That's the seat I've occupied, repeatedly, as the WebGL developer for designers — and the clearest example is my recurring partnership with Huy Phan, a Ho Chi Minh City designer and Awwwards jury member. This post is about the partnership itself: how a designer's award-level work gets built in GSAP, Three.js and Next.js, and why the same pairing keeps winning.

The partnership, on the record

Huy Phan designs; I build. We've shipped that split across multiple projects, and the results are public — not claims, listings:

ProjectHuy Phan's roleMy roleRecognition
fromanotherInterface designCreative developerAwwwards SOTD + Developer Award, FWA of the Day
IventionsDesign directionCreative developerCSS Design Awards Website of the Month, Awwwards SOTD + Developer Award
Mat VoyceDesigner (with Uncommon)Creative developerAwwwards Site of the Day

Huy Phan isn't a casual credential. He's an Awwwards jury member with a long shelf of wins — 12× Awwwards Site of the Day and 12× Awwwards Developer Award across his body of work. When a designer operating at that level hands off a concept, the build has almost no margin: the motion has to read exactly as intended, the WebGL can't degrade a single image, and the whole thing has to stay fast. That's the brief I take, every time.

Why designers of this caliber hire a specialist developer

A designer good enough to sit on the Awwwards jury doesn't need a developer who "can also design." They need the opposite: someone who does GSAP, Three.js and performance for a living and gets out of the way of the vision. The value isn't creative input — Huy already has the creative answer. The value is fidelity under load: rendering the design pixel-exact while holding a smooth frame on a mid-range laptop and a phone.

That's a different discipline than a generalist brings. A generalist compromises the design to make it shippable; a specialist changes the implementation so nothing about the design has to give. On Iventions the hard rule was "never degrade the imagery," so the shader work happened around each image — lighting and displacement on transition — never crushing the source. That's a developer-side decision that protects a designer's work, and it only comes from having shipped this level repeatedly.

The craft: executing an award-level design

Across the partnership, three engineering habits are what let Huy's designs land at full strength.

One motion language, not a pile of one-offs

A motion-led design collapses if every animation is hand-tuned in isolation — the rhythm goes incoherent and the whole thing reads as noisy instead of authored. The fix is a shared vocabulary: one set of eases, a consistent duration scale, and ScrollTrigger driving reveals off the same grammar so the pacing stays editorial from the hero to the footer.

import gsap from 'gsap'
import { ScrollTrigger } from 'gsap/ScrollTrigger'

gsap.registerPlugin(ScrollTrigger)

// One reveal grammar, reused site-wide — this is what makes a design feel "authored".
gsap.utils.toArray<HTMLElement>('[data-reveal]').forEach((el) => {
  gsap.from(el, {
    yPercent: 16,
    opacity: 0,
    ease: 'expo.out',
    duration: 1.1,
    scrollTrigger: { trigger: el, start: 'top 85%', once: true },
  })
})

Everything animates on transform and opacity only, so reveals stay on the GPU compositor and never touch layout — that's the difference between silky and janky on a media-dense page. The deeper mechanics are in my GSAP ScrollTrigger tutorial.

WebGL only where it earns its weight

A WebGL context costs memory and battery, so I reserve it for the moments that carry the design's "immersive" promise — cinematic image transitions, displacement between work pieces — and mount the canvas only when it's actually on screen.

// Spin up the renderer just in time; free the context when it scrolls away.
const io = new IntersectionObserver(([entry]) => {
  if (entry.isIntersecting) mountGL()
  else disposeGL()
}, { rootMargin: '200px' })

io.observe(canvasSection)

And crucially, textures are treated as sacred. On a designer's build, softening an image to save a few frames is a failure, not a trade-off:

import * as THREE from 'three'

new THREE.TextureLoader().load('/work/feature.jpg', (texture) => {
  texture.colorSpace = THREE.SRGBColorSpace
  texture.anisotropy = renderer.capabilities.getMaxAnisotropy() // crisp at angles
  texture.generateMipmaps = true
})

renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2)) // sharp without melting the GPU

That discipline — lazy contexts, disposing renderers, capping DPR at 2 — is what keeps a heavily animated design inside a performance budget. It's the same thinking behind Core Web Vitals for animation-heavy sites, and it's a big reason these builds took Awwwards Developer Awards, not just visual nods.

Motion that respects the visitor

Every build steps aside for anyone who's asked it to. gsap.matchMedia() disables the heavy choreography under prefers-reduced-motion, so an award-level design stays accessible without forking the codebase.

const mm = gsap.matchMedia()
mm.add('(prefers-reduced-motion: no-preference)', () => {
  // full WebGL + motion choreography lives here
})

Why the same pairing keeps winning

The reason a designer and developer return to each other isn't loyalty — it's compounding trust. By the third project, Huy knows exactly what's cheap and what's expensive to build, and I know exactly how he wants motion to feel, so the concept-to-code loss approaches zero. That's why the wins stack: fromanother's Developer Award, Iventions' CSS Design Awards Website of the Month, Mat Voyce's Site of the Day. Three juries, three projects, one recurring pairing.

The lesson generalises past one collaborator: an award-level design is only as good as the developer who ships it. If you're a designer with a concept that deserves to move exactly as you drew it — and hold up on a real device — that's the partnership I run. See how it fits among the designers and studios I build for.

FAQ

Who is Huy Phan?

A Ho Chi Minh City designer and Awwwards jury member with a long record of wins — 12× Awwwards Site of the Day and 12× Awwwards Developer Award across his work. huyml.co is his portfolio.

What is Hon Tran's role in the partnership?

Creative developer. Huy designs and art-directs; I build the front-end — the GSAP motion, the Three.js / WebGL, and the Next.js performance layer — faithful to his design. We've shipped fromanother, Iventions and Mat Voyce together.

What does a "WebGL developer for designers" actually do?

Turns an award-level design into a live site at full fidelity: motion that reads exactly as intended, WebGL that never degrades the imagery, and a fast, accessible build on real devices — without changing the design to make it shippable.

Can you work with my designer or design team?

Yes — that's the core of how I work. The designer owns the vision and the client relationship; I own the motion, the WebGL and the performance under your brand.

Let's build your design at full fidelity

If you're a designer or studio with an award-level concept that needs a WebGL developer to ship it exactly as drawn — that's exactly what I do.


Written by Hon Tran — creative developer, founder of hontran.dev, and Awwwards jury member. 11+ years building award-winning, performance-first web experiences (GSAP, Three.js / WebGL, Next.js) for clients worldwide. Twice named Awwwards "Independent of the Year" and the first Vietnamese developer to win an international web award. hontran.dev · Behance.

Related posts