Last week, I built a Houdini HDA that creates personalized 3D-printable snowflake ornaments. Once I had that working, I started wondering: what if someone could customize the ornament themselves in a web browser?
That became this week’s project.
For the first prototype, I kept things simple. I exposed just two choices from the HDA: the snowflake design and the personalized name. Eventually, this could expand to include things like font choice, text size, and other parameters.
The idea was to let someone type in a name, see a preview of their customized ornament while they were designing it, and then have the actual 3D-printable model generated and ready to download within seconds.
To build the interactive preview, I used Three.js to display the snowflake model in the browser and update the personalization as the user types. Behind the scenes, I connected the web app back to Houdini so the HDA could generate the final customized geometry.
And it worked!
In the video, I start with the web customizer, choose a snowflake design, enter a name, and generate the personalized STL. I then download the model and open it in PrusaSlicer to inspect the final geometry.
For now, this is still a local prototype—Houdini is running on my own machine to generate the final STL. That’s fine for proving that the workflow works, but obviously my computer can’t be the production server for an online product.
So that’s the problem I’m tackling next: how do I move the Houdini side of this pipeline off my local machine and turn it into an on-demand service that could support a real web product?
If you’ve worked with Houdini Engine, cloud-hosted Houdini workflows, or something similar, how would you approach it?