Tools & technologies
WebGL development
This is where the web stops behaving normally.
This is where the web stops behaving normally. Real-time graphics, visual systems and shader-driven work built straight into the browser.
Shader programming
Fragment shaders for full-screen effects (noise, grain, RGB-shift, glitch), vertex shaders for mesh deformation, compute shaders where the browser supports them.
Visual systems
GPU particles, fluid systems, simulations reactive to audio or scroll, complex masking, Awwwards-style page transitions.
When it's the right tool
When a brief asks for something CSS + canvas can't deliver: painterly effects, organic noise, complex deformation, advanced post-processing.
Operating locations
Studio in Madrid
Based in Madrid, working remotely with brands, studios and agencies inside and outside Spain.
Info graphic
Decision flow
WebGL is the browser's most versatile canvas — it just needs a good painter.
Info graphic
Friction map
Custom shaders are where the project leaves the 'normal web' category.
Info graphic
Journey shape
Performance is part of the aesthetic: anything that stutters never looks premium.
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