DEBUGGING // HUMAN ERROR

The Bug That Wasn't a Bug

Or: check your filament assignments before debugging the cloud.

SEPTEMBER 2026 · 4 MIN READ · LESSONS LEARNED

The Soccer Bag Tag maker finally worked on the website instead of just my PC. It gave me STL files and a 3MF model with separate pieces, so I could choose their colours in the slicer.

So naturally, the next job was to try to break it.

I started feeding it longer strings. Letters. Numbers. Mixed case. The tag generated, downloaded and opened in Creality Print — and then the soccer pattern looked wrong.

Excellent. Brand-new public generator, brand-new character-length bug. Exactly what every launch needs.

I shortened the name. Still wrong. Removed another character. Still wrong. That was enough to make the problem look convincingly like geometry or scaling.

Soccer tag customiser, generated files and Creality Print used during the long-name validation test
The generator had done its job. The investigation had simply started at the wrong end.

Then I looked at the filament assignments

One of the separate pieces that should have been black was assigned white in the slicer.

That was it.

The website was fine. Cloudflare was fine. Render was fine. The generator was fine. The long name was fine.

The bug was approximately forty centimetres from the keyboard.

The useful part

It is funny, but it reminded me how many chances there are to get a print wrong. The website can make the right shape, the file can open correctly, and I can still give one piece the wrong colour.

When something looks wrong at the end of that chain, it is tempting to blame the newest or most complicated part first. In this case I had just built a website tag maker, so of course that was where my brain went.

My new reminder is much less exciting: before pulling the website apart, check that each piece has the right filament colour.

Before debugging the cloud, check whether Multipart 2 is supposed to be black.

The upside is that the mistake accidentally became another useful test: long strings containing letters and numbers generated cleanly and the model with its separate pieces still loaded correctly once I stopped sabotaging it in the slicer.

← Back to journal