Experiments with Three.js

Two live Three.js pieces. One is a spatial portfolio you walk through. The other is zeroeka, a particle field with a single verb.

A portfolio is a curated self, arranged for a viewer. Making it spatial asks whether walking to a piece is different from clicking a thumbnail.
Stack
Three.js, WebGL
Pieces
Spatial portfolio, zeroeka
Deployment
Vercel
Role
Design, development

Spatial portfolio

Most portfolios are lists. Thumbnails, then click, scan, judge. Same moves as a shop. This one asks you to walk. The work sits in a space, and you find it by moving.

portftest-gamma.vercel.app ↗
WASD to move. Stand on a ring to open a work.

zeroeka

A shader and particle landing. A hollow sphere of dust sits in a black field, and the copy waits. IGNITE SEQUENCE is the only control. I wanted to know if a 3D scene can carry product copy without becoming a hero video.

zeroeka.vercel.app ↗
Scroll inside the window. One verb: IGNITE SEQUENCE.

What it taught me

Stay long enough to look. A flat grid asks you to scan. This world asks you to remain in one spot. I only noticed that once the space was walkable.
It has to run on a phone. WebGL on a phone is rough. The shipped build uses fewer polygons, simpler shaders, and fewer draw calls. Some detail is gone so more phones can open it.
One button. IGNITE SEQUENCE has to carry the moment. There is no second button. If it fails, the scene is a backdrop.