WEB DEVELOPMENT / Personal project
A miniature 3D world, built for the web.
This site: a Next.js portfolio with an interactive Three.js landscape, generated entirely in code.
The problem
Build a distinctive, interactive portfolio without making visitors download large 3D assets or slowing down the reading experience.
The approach
The landscape, pines, studio and balloon are generated from Three.js primitives, with no model files. Visitors can drag to look around, zoom, and click objects to make them respond. A separate travel globe draws Natural Earth country boundaries onto a sphere and only loads when it is opened.
The engineering challenge
Keeping the scene interactive while rendering only on demand, pausing it off screen, and providing a static image for devices without WebGL.
What this represents
Try it on the home page. Pages are pre-rendered and readable without JavaScript.