
Loading…
Loading…
Loading case study…
These projects explore how interactive 3D and WebGL can make a product or brand story feel tangible inside the browser. Each experience connects motion and visual effects to a specific user journey.
A camera that becomes a viewfinder into someone's memories, a keyboard where each key is a scattered tool waiting to be unified, particles that morph because the product itself is about transformation. This is a collection of that work — full landing pages built around one 3D idea, and smaller standalone studies exploring a single technique at a time.
Everline — Car Rental Showcase
A cinematic ignition-to-showroom journey — step into a cockpit, then watch a fleet reveal itself under studio lighting.
Everline — Car Rental Showcase
A cinematic ignition-to-showroom journey — step into a cockpit, then watch a fleet reveal itself under studio lighting.
Standalone studies — one technique, isolated and pushed further than a single landing page would ask for.
Standalone studies — one technique, isolated and pushed further than a single landing page would ask for.
Chromatic glass stone
A particle cloud trapped inside faked chromatic glass — refracted twice, bloomed in isolation so the glow stays contained inside the silhouette instead of leaking out.
Particle configurator
Tens of thousands of GPU points shaded as vapor or lit spheres, morphing between shapes with live controls for placement, motion, and look.
Ridged shader field
An abstract animated surface built entirely from material properties — reflections and gradient lights moving across a shader to fake a rippling, ridged field.
Five habits that keep these experiences from becoming the reason a page loads slowly or a phone gets hot — built up across projects, then carried into every category of work since.
Reducing polygon count and texture size before a model ever reaches the browser — the cheapest performance win happens before a single line of Three.js is written.
Heavy scenes and models load dynamically and defer until they're actually needed — the initial page load isn't paying for a 3D scene the user hasn't scrolled to yet.
A scene that isn't visible doesn't need to keep rendering. Animations and render loops stop when a section scrolls out of view, and scenes tear down entirely if the tab loses focus.
ScrollTrigger instances are scoped to the section they belong to and only activate as that section approaches — not one large timeline trying to account for the whole page at once.
Heavy WebGL scenes are swapped for lighter versions or static images on mobile, rather than forcing the same scene to run at a lower quality — a decision made per project, not a blanket fallback.
Five distinct 3D/motion narratives shipped, each built around a different technique — metaphor-driven scenes, cinematic scroll storytelling, custom shader work, and a persistent scroll-reactive character
A consistent set of performance habits — model optimization, deferred loading, viewport-aware pausing — carried forward and refined across every project
Standalone shader and particle studies built independently of any landing page, as deliberate technique practice
The same instinct for structure from dashboard and SaaS architecture work, applied back into how these scenes are organized and loaded
© 2026 Sherif Khodeir