Tools & technologies
Three.js development
Flat is predictable.
Flat is predictable. I build Three.js 3D environments that turn products and ideas into something you move through — not just something you scroll past.
What I do with Three.js
In-browser 3D scenes with GLTF models, PBR lighting, post-processing (bloom, glitch, RGB shift), soft physics, scroll integration and cameras driven by timelines.
Optimisation
DRACO compression for models, KTX2 for textures, instanced meshes for asteroids/particles, draw-call budgeting, pixel ratio capping on mobile. We hit 60 fps even on modest hardware.
Use cases
3D products (clothing, gadgets, vehicles), cinematic hero scenes, configurators, web-based architectural visualisation, brand showpieces.
Operating locations
Studio in Madrid
Based in Madrid, working remotely with brands, studios and agencies inside and outside Spain.
Info graphic
Decision flow
Three.js isn't magic: it's expressive maths. And that's exactly the good part.
Info graphic
Friction map
A 60 fps render loop weighs about the same as three badly-built carousels.
Info graphic
Journey shape
Web 3D is closer to art direction than to backend development.
Work with JMWEB
Let's build something with personality.
It all starts with a conversation. Bring a brief, a reference, a half-baked idea — I'll take it from there.
Start a project
Next projects:

Cumbres
Landing page + e-commerce for an alpine gear brand. Photo shoot on a real glacier, a 3D harness configurator, and a scrollytelling story about the first rope teams. Built with Next.js + Three.js so the kit can be seen, rotated and weighed.
View project
Sweet Studio
Visual identity + e-commerce for a boutique patisserie. Product-by-product 3D renders in Blender, a pastel palette over a black background, and a checkout that dodges the usual friction in food DTC. A lot of care in the art direction.
View project
Prism Core
Brand concept for an on-chain trading platform. The holographic gem rotates in WebGL with real chromatic dispersion (genuine refraction indices, not faked) and the circuit ring reacts to the cursor. Three.js + custom GLSL shaders.
View project
Pour Sessions
Art direction + photography for a studio that paints with ink and milk on canvas. Brand capsule with an editorial site, macro videos at 240 fps of every splash, and a print shop. Spoiler: it smelled better than it looks.
View project