Just wrapped up building flux/, an interactive UI with real-time WebGL rendering, custom GLSL sha...Just wrapped up building flux/, an interactive UI with real-time WebGL rendering, custom GLSL sha...
The network for creativity
Join 1.25M professional creatives like you
Connect with clients, get discovered, and run your business 100% commission-free
Creatives on Contra have earned over $150M and we are just getting started
Just wrapped up building flux/, an interactive UI with real-time WebGL rendering, custom GLSL shaders, and scroll-driven animation, built entirely from scratch with vanilla JS, what do you think?
It's been a super fun shift for me, most of my background is Python automation, AI integration, and data pipelines, but diving into frontend/UI work like this has been genuinely rewarding.
Link's in my portfolio if you want to see it in action. Always open to talk automation, AI integration, or interactive web work.
Moving from Python pipelines into custom GLSL is an interesting shift. With scroll driving the experience, I’m curious how you keep shader work and scroll updates coordinated on slower devices. Did you build a lighter rendering mode for mobile?
Honestly it is more of a new interest than a whole shift
And right now the shader/scroll sync is tuned mainly for desktop performance, but it is very optimized that it works nicely on an alright cellphone. I haven't built a dedicated lighter rendering mode for mobile yet,...
The vanilla JS route is the part I would defend - straight to GLSL instead of inheriting a scene graph you never needed. The one that caught me on scroll-driven work was portrait: visible width is 2*z*tan(fov/2)*aspect, so at 0.75 aspect you see less than half of what you...
Yeah only the middle parts of the models show on portrait when using the phone, edges get cut off. Didn't scale the fov/camera distance for aspect ratio, just assumed desktop dimensions. Gonna fix that soon.
And vanilla + GLSL was intentional, didn't want scene graph overhead for...
Built my portfolio in 1 hour after years of procrastinating. The trick: references first, design every motion yourself, dictate prompts with Wispr Flow, name #GSAP + #Lenis, build with Claude, publish with #Lovable. AI executes, you direct. 👇
Weekend fun 😺. The new MacBook Pro has a Dynamic Island, and I kept wondering: what if that little pill was where your AI agent lived?
Try it live: https://lab.behzad.me/agent-mew/
So I spent the weekend prototyping Agent Mew. You drop a file on the notch, give it a task, and it quietly works up there while you keep doing your thing. It shows progress in the wings, asks a quick question when it needs one, and always waits for your OK before doing anything that leaves your Mac, like sending an email.
A few things I explored:
- Progress that stays out of the way, readable at a glance
- Questions as one tap, not a chat window
- Approval cards for anything with real consequences
- Paused and stuck states that tell you what to do next
- A small animated cat, because agents should have some personality
Approval cards for anything that leaves the Mac is the right line to draw. Does the card show the full email before you tap OK, or a short summary? I'd lean toward full text for anything going to another person.
24 photos, all shot on an iPhone 15 📱, on a wall you can wander through.
This is the Photographs page of my portfolio. The wall is one raw WebGL2 canvas: the photos drift at different depths, pan when you drag, keep sliding when you let go, and lean toward your mouse 🖱️ Each one develops from a grey mosaic into the photo as it loads 🎞️
Open one and you get its caption and the camera's own EXIF.
Mostly black-and-white architecture and street, some colour 🖤🤍 Designed and built by me.