0%
VENN

Air4°CPage—

Start

Tuan / Freelance web developer

It's 4°C where you are.This page still runs cold.

I'm Tuan, a freelance web developer in Ho Chi Minh City. I build websites and web apps in Next.js, usually with the database and API behind them too. When a site has 3D or motion, it still has to open fast on an ordinary laptop.

  • Taking freelance & contract work
  • Saigon GMT+7
  • Making websites since 2023
Material_01 / Venn iceholdingColumbus 4°C / 85% RHHover the ice / it comes apart
01 / Running hot

Pretty 3D that stutters gets the tab closed.

Heavy 3D pages spin up the fan, drain the battery and stutter when you scroll. This one measures its own frame rate in your browser and shows you the numbers.

Live browser frame timing
Your air4°C
This page—

 

Measuring…

Page temperature is a visual score based on browser frame timing, not a CPU or GPU temperature reading.

02 / Both ends

Above the surface and below it.

Above the waterlineThe screens, the 3D and the motion. People see this part first.

Below itThe database, the API and the server. When a lot of people arrive at once, this is the part that has to hold.

03 / Inside the ice

What this page does to stay smooth.

  1. 01While you scroll or move the mouse, it draws every frame. Sit still and it draws once every 25 ms. Switch tabs and it stops.
  2. 02The cold air around the ice is at most 480 particles, all drawn in a single call.
  3. 03When frames start to drag, the scene drops its pixel ratio in steps of 0.25, and at 1× it switches to a lighter ice. After 8 smooth seconds it steps back up. A machine that needed the lighter ice starts with it next time.
Live, on your machine—fps—ms p95
04 / The lattice

From the database to the interface.

  1. 01DATA

    Tables designed properly at the start, so later migrations don't hurt.

    PostgreSQL · Prisma · Migrations
  2. 02API

    Where the data goes: logins, realtime updates, email, payments.

    Node.js · Express · Route handlers · Webhooks
  3. 03UI

    Screens, forms and maps that work on a phone. 3D goes in only where it helps.

    React · Next.js · Three.js · GSAP

Because I work on all three layers, a new database field ships with its API and its screen in the same change. If you only need the frontend, that works too.

(05) Ice core

A few recent projects.

01 / Sigo

Sigo

A car-rental marketplace in Vietnamese and English. Renters filter cars on a map and book delivery; owners manage listings, trips and payments. On the team, I set up the Next.js 15 app and its routing and kept the old URLs working.

Stack
Next.js 15 / React 19 / TypeScript / next-intl
Year
2025
Visit live site
Sigo website preview
Sigo: home
Sigo: popular places
02 / Viet Lasa Coffee

Viet Lasa Coffee

A coffee brand site built around long scroll stories, on Next.js 15 and Sanity. Headings animate in with GSAP and ScrollTrigger. The content is in Sanity, and I tried its Visual Editing, which lets you change text right on the page.

Stack
Next.js 15 / React 18 / Sanity / GSAP
Year
2024
Visit live site
Viet Lasa Coffee website preview
Viet Lasa Coffee: home
Viet Lasa Coffee: menu
03 / Sosifie

Sosifie

A social app I'm building on my own: a Next.js client, an Express API on PostgreSQL and a separate trend crawler. Chat runs on Socket.IO, with typing indicators, read receipts and messages that delete themselves.

Stack
Next.js / React / TypeScript / Node.js
Year
2026
Visit live site
Sosifie website preview
Sosifie: sign in
Sosifie: on a phone
06 / Crystallise

A project goes through four steps.

  1. 01 / LiquidScope

    We agree on what needs to work, what can wait, and the timeline and budget.

  2. 02 / NucleatePrototype

    Early on, I build a version you can click through, so a wrong turn is still cheap to change.

  3. 03 / CrystalliseBuild

    Database, then API, then interface. Motion comes last.

  4. 04 / FreezeLaunch

    The site goes live, I measure its speed again on real phones and laptops, and I keep fixing what turns up.

07 / Iced coffee

It's 4°C. Hot coffee works too.

Tell me what you're working on. In Saigon we can meet at a café; anywhere else, a video call. Send a few lines about the project, your deadline and an approximate budget.

Use the contact form
  • Open for new projects
  • Saigon GMT+7