From Smoothies to Shaders: Meet Alex

Babylon.js
5 min readSep 12, 2024

Hey everyone!

I’m Alex Huber, the newest Software Engineer on the Babylon team. After graduating from the University of Florida, I’m happy to be returning to the team after a rewarding internship last summer. I thought I’d share a bit about my journey here — how an early obsession with ice cream led me to explore graphics, the learning curve I faced as a newbie, and what excites me about joining the team.

An Unlikely Early Influence

My interest in graphics started with a simple love for frozen treats.

When I was 8, I built my first website: the “Super Ice Cream Fanclub”. It was a blog and forum where my classmates and I could debate the all-important question, “What’s your favorite ice cream flavor?” I spent an afternoon spreading the word in my computer lab class, thrilled at the idea of creating a secret social space to chat with my classmates. My teacher? Not so thrilled.

While the website was a fun start, I always felt something was missing. Text on a forum isn’t the most expressive medium. Could I somehow make this social space more interactive?

At 10, I discovered I could achieve this by hosting a 3D game on Roblox. Graduating from my ice cream obsession, I moved onto smoothies — my new frozen treat of choice — and built a smoothie parlor game for my friends and me to hang out in. It was the first time I had coded anything, and I was hooked.

The smoothie parlor. It was just me, standard materials, and primitive modeling against the world.

The Road to Babylon

Over the next decade, I got to watch in real-time as 3D worlds became increasingly more beautiful, thanks to advancements in graphics. I realized I wanted to be part of this evolution. After starting my Computer Science degree, and a couple internships at Premera Blue Cross and NASA, I finally got the chance to do so.

I remember casually telling my Microsoft interviewer, “I’d love to work in something near graphics, if possible”. So, when I got the news that I’d be interning with the Babylon.js team, I was over the moon.

I’d been tinkering with games for a decade, taken a few courses on game development, and knew enough linear algebra to make transformation matrices do what I want. I felt reasonably prepared for the challenge ahead… but I soon realized there was a lot more to learn.

The Internship

Do you ever wonder what it’s like for small-town football players to join the NFL? I didn’t. At least not until I joined the Babylon team.

These guys are experts at their craft. At first, I struggled to keep up with the technical discussions happening around me. Every question I had seemed to lead to 10 more. I couldn’t tell whether this feeling was normal, or if the answers I needed were somewhere in a textbook I’d long forgotten. (Spoiler alert: they weren’t.)

To my relief, the team proved to be the most approachable group of all-stars I could’ve hoped for. They love what they do, and in the spirit of Babylon’s open-source principles, they’re eager to share their knowledge with the world. They get how complicated this domain can be. So, faced with my dozens of questions, the team took the time to help me understand the complex nature of graphics. I couldn’t be more grateful.

That summer, I collaborated with my new teammates to create the MeshDebugPluginMaterial, a debugging tool for models that could power the visualizations behind Window’s 3D Viewer. I went from asking things like, “Isn’t a shader the thing that gives some nice filters to the final image?” to “How can we get geometry information in a fragment shader without geometry shaders or extra passes?” (Shout-out to Alexis who found this solution, and even wrote a post about it!)

Back to School and Back to Babylon

I left my internship determined to continue working with graphics. Armed with new “known unknowns” from my time in Babylon, I set out to make the most of my final year in school. I talked my way into a graduate-level graphics course and finished top of the class. I made a couple more small games; this time, with much more mastery over the game engine, thanks to Babylon. And, for my senior project, I teamed up with classmates to build a simple 2D game engine/editor.

The 2D game editor. Just by the look of the UI, can you tell what library it was made with? Haha.

When I was offered the chance to return to the Babylon team full-time, I jumped at the opportunity. There’s something truly inspiring about this team and community that I haven’t seen elsewhere. What sets them apart is how deeply they live the open-source values they stand by. Calling it a “culture of collaboration” isn’t just me throwing around buzzwords — it’s how they operate, every day. They’re not just building a product; they’re fostering a community, actively engaging with users, and constantly learning from them.

Each team member brings a specialized skill set to the table, and they know exactly when to lean on each other’s expertise. Whether it’s taking on a complex shader problem, exploring new rendering techniques, or fine-tuning user experience design, no one works in isolation. That’s what makes the Babylon team so strong.

I’m SO excited to be joining this incredible group of people, and I can’t wait to see what we’ll create together next. In the meantime, see you all on the forum!

Alex C. Huber — Babylon.js Team

Alex Cornide Huber (@alexchuber) / X

--

--

Babylon.js
Babylon.js

Written by Babylon.js

Babylon.js: Powerful, Beautiful, Simple, Open — Web-Based 3D At Its Best. https://www.babylonjs.com/