Northwest Waxworks started as a pretty simple idea: use digital fabrication to turn mountain terrain into candles people would actually want. It got complicated quickly. What looked at first like a geometry problem turned out to be a stack of interlocked problems: terrain data, CAD, notebook tooling, mold design, wax behavior, text legibility, process repeatability, branding, market fit, and then, once all that was already plenty, a whole notebook-runtime migration from Jupyter to marimo.
The geometry pipeline was stanky for a while. What I needed sounded simple enough: select a real mountain, extract usable terrain, shape it into something I could fabricate, and iterate quickly enough to compare ideas instead of getting lost in tooling churn. In practice this meant GIS inputs, notebook environments, CAD viewers, mesh processing, and a lot of dependency weirdness all trying to occupy the same room.
I thought the hard part was going to be the geometry. It was hard, sure. But once the mountain shapes started becoming workable, the project revealed its real personality: molds, wax, curing, shrinkage, leakage, demolding, lettering, and all the little physical details that do not care how elegant the code looked five minutes ago.
At some point a prototype stops being interesting just because it exists. That was the phase I hit in late spring 2025. I had enough geometry, enough molds, and enough poured objects to know the idea was real. What I did not have yet was a workflow that could survive iteration cleanly, or a product shape that felt settled enough to build around.
A technically interesting object is not automatically a market-ready object. That sounds obvious. It was still a lesson I had to pay for in the real world. By the time the project reached this phase, there was already a lot of serious work behind it: terrain-derived geometry, custom tooling, mold iterations, pour logs, text refinements, process math, and actual candles that looked pretty good. The next step seemed straightforward enough: make the brand legible, get the booth and collateral together, and see what happens when the project leaves the workshop.
The second version of the project looks narrower and smarter. After the first market-facing phase stalled out, the evidence does not suggest I gave up on the whole idea. It suggests I came back to it with a different product shape, a different notebook runtime, and a stronger bias toward operational coherence.