Skip to content
CarmTech Strategies

May 25, 2026 · 5 min read

Shipping Stair Generators

stair-generatorscase-studythree.jsai

The first time we tried this, we built the wrong tool. We built a stair configurator — sliders for everything, three views, materials picker. It looked great in a demo. The shop foreman closed the tab in 8 seconds.

The version that stuck has three inputs.

What changed

We stopped asking "what could this tool do?" and started asking "what's the shape of the actual moment we're trying to save?"

The shape is: a builder is on the phone with a client, the client is wishing out loud, and the builder needs something on the screen in the next minute.

So we built that. Rise. Run. Treads. Render.

How it works under the hood

three.js for the geometry — procedural, no STL files to manage. We generate the isometric wireframe in code from the three parameters. Then we hand the wireframe to Gemini Flash img2img with a tight prompt and the user's rough sketch (if they have one). The model returns a stylized render that's recognizable as the spec.

The whole loop is under 10 seconds on a decent connection.

What we're not doing

We aren't building a pricing engine. We aren't building a project management system. We aren't trying to replace the shop's CAD. We're trying to compress one specific moment.