← Tất cả bài viết
Microsite Ra Mắt Sản Phẩm: Case Study WebGL Reveal
Cách tôi làm microsite ra mắt sản phẩm biến buổi reveal thành một sự kiện — WebGL, GSAP & Next.js từ một creative developer đạt giải, chịu tải giờ G và chốt pre-order.
Một microsite ra mắt sản phẩm có một nhiệm vụ mà trang sản phẩm thường không bao giờ có: biến buổi reveal thành một sự kiện. Trong vài ngày quanh đợt drop — một chiếc gadget, một đôi sneaker, một mẫu xe, một tính năng SaaS chủ lực — thì chính microsite là chiến dịch. Đây là góc nhìn của người trong nghề về cách tôi làm website ra mắt sản phẩm bằng WebGL, GSAP và Next.js: khiến màn lộ diện trở nên tất yếu, chịu được bức tường traffic giờ G, và dẫn thẳng cơn hype vào pre-order. Viết bởi chính người dựng ra chúng.
Người viết là ai — và vì sao "launch" là một bộ môn riêng
Tôi là Hon Tran, một creative developer với hơn 11 năm làm các trải nghiệm web đạt giải, performance-first cho thương hiệu và studio toàn cầu. Tôi được vinh danh Awwwards "Independent of the Year" hai lần, có 9× Site of the Day, và là thành viên ban giám khảo Awwwards.
Một buổi ra mắt khác hẳn website marketing thông thường. Nó có một chiếc đồng hồ. Nó chỉ có một cơ hội tạo ấn tượng đầu tiên, trước báo chí, fan, và một cú spike traffic ập đến trong đúng một phút. Mọi thứ phải vừa hoàn hảo từng pixel vừa chống chịu tốt trong cùng khoảnh khắc đó — rồi vài ngày sau, bàn giao mượt mà cho trang sản phẩm lâu dài. Điểm giao giữa "màn trình diễn" và "độ tin cậy" chính là việc tôi làm giỏi nhất.
Đề bài: gây tò mò, chốt màn reveal, bắt lấy cảm xúc
Mọi website ra mắt sản phẩm tôi làm đều nằm trên ba căng thẳng quyết định mọi lựa chọn kỹ thuật:
- Sự úp mở trước giờ G. Vài tuần trước, microsite là một chiếc đồng hồ đếm ngược và một lời thì thầm — đủ để người ta đăng ký, chưa đủ để lộ màn reveal. Nó phải biến sự tò mò thành một email đã thu về, để bạn sở hữu tệp khán giả trước giờ ra mắt.
- Màn reveal là khoảnh khắc. Khi lệnh cấm tin được gỡ, sản phẩm phải xuất hiện — xoay trong không gian, bắt sáng, tách rời rồi lắp ráp lại. Đây là lúc WebGL chứng minh giá trị: một sản phẩm bạn có thể xoay ngắm và nhìn nó biến hình hơn hẳn một bộ ảnh render phẳng.
- Cú spike là có thật. Một buổi ra mắt được phối hợp nghĩa là hàng nghìn người đổ vào cùng một URL trong cùng một phút. Nếu site đứng hình đúng lúc gỡ cấm tin, thì chiến dịch trở thành câu chuyện — thay vì sản phẩm.
Cái nghề: dựng một màn reveal khiến người ta thấy tất yếu
Màn hero reveal bằng WebGL
Trái tim là màn reveal sản phẩm — một model 3D (hoặc chuỗi ảnh được art-direction) hàn chặt vào scroll, để món đồ lắp ráp, xoay và bùng sáng khi câu chuyện được kể. Chuyển động phải có cảm giác chính xác như máy, tức là điều khiển từ một giá trị scroll đã được làm mượt, không bao giờ dùng input thô:
import gsap from 'gsap'
import { ScrollTrigger } from 'gsap/ScrollTrigger'
gsap.registerPlugin(ScrollTrigger)
const reveal = { t: 0 } // 0 → 1 xuyên suốt màn reveal được pin
gsap.to(reveal, {
t: 1,
ease: 'none',
scrollTrigger: { trigger: '#reveal', start: 'top top', end: '+=3200', scrub: 1.1, pin: true },
onUpdate: () => {
product.rotation.y = reveal.t * Math.PI * 2 // một vòng xoay trọn vẹn, uyển chuyển
material.uniforms.uAssemble.value = reveal.t // các mảnh bay vào và khớp lại
material.uniforms.uHeat.value = Math.sin(reveal.t * Math.PI) // ánh sáng quét ngang ở cao trào
},
})
Con số scrub: 1.1 chính là toàn bộ cảm giác — nó để sản phẩm ease dần theo scroll thay vì giật
theo, đúng khác biệt giữa "buổi ra mắt cao cấp" và "template". Đây là cùng một cách dàn dựng pin +
scrub tôi mổ xẻ trong
hướng dẫn GSAP ScrollTrigger, tinh chỉnh cho
một nhịp reveal.
Lắp ráp và chất liệu trong shader
Điều làm sản phẩm trông mới trên màn hình là cách nó ráp lại và cách ánh sáng phản ứng trên nó — các mảnh khớp vào chỗ, một viền fresnel đọc ra kim loại phay hoặc kính. Một material tuỳ biến làm được điều mà ảnh render tĩnh không thể:
// fragment — một viền sáng ở góc nghiêng, để cạnh đọc ra kim loại/kính
uniform float uHeat;
varying vec3 vNormal;
varying vec3 vView;
void main() {
float fresnel = pow(1.0 - max(dot(normalize(vNormal), normalize(vView)), 0.0), 3.0);
vec3 base = vec3(0.05);
vec3 col = base + fresnel * (0.4 + uHeat * 0.6); // cạnh bùng sáng ở cao trào của màn reveal
gl_FragColor = vec4(col, 1.0);
}
Hai trạng thái, một codebase: teaser và reveal
Một microsite ra mắt thực ra là hai site chung một codebase — teaser trước drop và reveal sau gỡ cấm tin — được lật bằng đúng một mốc thời gian. Tôi gate ở phía server để không ai scrape được màn reveal sớm, và để cú chuyển đổi diễn ra tức thì ở giờ G, không cần deploy:
const LAUNCH = Date.UTC(2026, 6, 10, 15, 0) // gỡ cấm tin, theo UTC
export function isLive() {
return Date.now() >= LAUNCH
}
// server component render <Teaser /> hoặc <Reveal /> từ isLive() — không nháy client, không lộ sớm
Dựng cho cú spike, chốt trên pre-order
Một đợt drop nghĩa là bức tường traffic trong đúng một phút. Next.js với static rendering, ISR và edge caching hấp thụ nó — hero được phục vụ tức thì từ edge ngay cả khi tải nặng, còn phần WebGL nặng được lazy-init để first paint không bao giờ phải chờ. Rồi cao trào cảm xúc phải đáp xuống một quyết định: một pre-order, một lượt đặt chỗ, một đồng hồ đếm-ngược-để-mua, bắt lấy trước khi cảm giác nguội đi. Tôi giữ toàn bộ trải nghiệm trôi trên một chiếc đồng hồ Lenis + GSAP duy nhất, cấu hình tôi ghi lại trong cuộn mượt trong Next.js với GSAP & Lenis.
| Mục tiêu launch | Kỹ thuật | Vì sao nó chuyển đổi |
|---|---|---|
| Gây tò mò | Teaser → reveal gate bằng timestamp, một codebase | Sở hữu khán giả trước giờ G |
| Khiến sản phẩm "xuất hiện" | WebGL lắp ráp + xoay, hàn vào scroll | Sản phẩm xoay ngắm được hơn ảnh render phẳng |
| Đọc ra "cao cấp" | GSAP scrub + easing, material fresnel | Chuyển động có chủ đích là tín hiệu thương hiệu |
| Chịu tải & chốt đơn | Next.js static/ISR/edge + CTA pre-order dứt khoát | Chịu cú spike phút-một, bắt lấy cảm xúc |
Đây là họ hàng gần với nhịp couture trong microsite ra mắt thời trang cao cấp, tính tương tác của 3D product configurator, và cái nghề cuộn immersive trong làm website tương tác immersive — buổi ra mắt chỉ thêm vào chiếc đồng hồ và đám đông.
FAQ
Microsite ra mắt sản phẩm là gì?
Một website tập trung, một mục đích, dựng quanh đúng một khoảnh khắc — màn reveal của một sản phẩm hoặc tính năng. Khác trang sản phẩm lâu dài, nó được thiết kế để gây tò mò trước drop, mang lại màn reveal điện ảnh ở giờ G, và biến cú spike thành pre-order hoặc đăng ký, rồi bàn giao cho trang chính.
Tôi có cần 3D/WebGL cho website ra mắt sản phẩm không?
Không phải lúc nào cũng cần — nhưng khi bản thân sản phẩm là câu chuyện, một món đồ bạn có thể xoay ngắm, nhìn nó lắp ráp và thấy ánh sáng quét qua sẽ hơn hẳn một loạt ảnh render phẳng. WebGL là thứ khiến màn reveal thành sự kiện chứ không phải một thông cáo báo chí kèm ảnh.
Microsite ra mắt có chịu được cú spike traffic giờ G không?
Có, khi được kiến trúc cho việc đó. Một build Next.js render tĩnh, cache ISR và edge phục vụ hero tức thì khi tải nặng, phần WebGL nặng được lazy-init để first paint không bị chặn. Cú chuyển teaser/reveal là một timestamp phía server, nên giờ G diễn ra tức thì mà không cần deploy.
Làm một microsite ra mắt sản phẩm mất bao lâu?
Thường là vài tuần tuỳ tham vọng của màn reveal — model 3D bespoke và shader nằm ở đầu cao. Vì chiếc đồng hồ là cố định, tôi dựng màn reveal và đường load trước rồi trau chuốt dần vào trong. Xem cách tôi nhận việc và bóc tách phạm vi.
Hãy biến buổi ra mắt của bạn thành một sự kiện
Nếu bạn là thương hiệu, startup hay agency đang chuẩn bị một đợt drop sản phẩm, một chiến dịch, hay màn reveal một tính năng chủ lực — thứ giữ được một tiêu chuẩn cực cao, sống sót qua cú spike, và chuyển đổi — thì đó chính là việc tôi làm với vai trò creative developer.
- Xem cách tôi làm việc và bắt đầu dự án ở trang hire.
- Xem thêm các dự án đã ship, đạt giải trong kho dự án.
- Sẵn sàng trao đổi? Let's talk →
Viết bởi Hon Tran — creative developer, founder của hontran.dev, và thành viên ban giám khảo Awwwards. Hơn 11 năm dựng các trải nghiệm web đạt giải, performance-first (WebGL, GSAP, Next.js) cho thương hiệu toàn cầu. Lập trình viên Việt Nam đầu tiên đoạt giải web quốc tế. hontran.dev · Behance.