View the site
Next projectFelt
- Projet personnel

Cozy place

Visuel Starting point du projet Cozy place
Visuel Starting point du projet Cozy place
Visuel The challenge du projet Cozy place
Visuel Process & Decisions du projet Cozy place
Visuel Execution du projet Cozy place

Détails du projet

Starting point

Three.js Journey Challenges are monthly challenges from the Three.js Journey community, each participant exploring an imposed theme in real-time 3D - this one the twentieth, "Cozy place". The direction narrowed down to one specific place, framed like a photo before the first line of code: a 1970s living room with a conversation pit, built prop by prop around that fixed shot.

Visuel 1 Starting point du projet Cozy placeVisuel 2 Starting point du projet Cozy place

The challenge

Beyond the style exercise, this challenge was a chance to push further on three fronts: a real Blender-to-WebGL pipeline, lighting a full scene (emissive practicals, baked vs. real-time), and above all live audio analysis - making a 3D render react to music in a way that feels right, not just "flashing on loud".

Visuel 1 The challenge du projet Cozy place

Process & Decisions

The green velvet pit is the subject of the shot, built for two uses - hanging out around the turntable, or curling up solo on the cushions. A signature detail: a cat figurine sculpted by artist WENNA, modeled from photos of the real piece with her permission, credited in the project. The turntable isn't a prop: click it and it actually plays a track, and the whole room - rendered as a point cloud rather than solid surfaces - reveals itself as the mouse moves, like a flashlight sweeping through, before it starts reacting to the music itself.

Visuel 1 Process & Decisions du projet Cozy place

Execution

React Three Fiber and Three.js (drei, postprocessing for bloom/vignette/grain, n8ao for ambient occlusion), Vite for the build. Assets are modeled/kitbashed in Blender then exported as optimized glb. Audio reactivity runs on the native Web Audio API (no external library): pitch detection by note class (12 chromatic notes), using each note's relative share of the total energy rather than an absolute threshold - tuned by listening to the track live across several passes so the reaction actually tracks the music instead of just lighting up on volume.

Visuel 1 Execution du projet Cozy place

A project like this one?

Try me for 3 days at a fixed price on a component or a pitch prototype: not invoiced if the result doesn't work for you. Reply within 72h.

See offers and rates