Weekend project product development with 3D printing
I love 3D printing and I love automation. More broadly, I love technology at every level, from software through to hardware and all the messy overlap in between. There’s a term in gaming called min-maxing, which essentially means squeezing the absolute maximum performance out of a character for a given moment in time. Every stat, every decision, every trade-off is optimised. In real life, I tend to approach problems in exactly the same way, always looking for the most efficient, lowest-friction solution rather than something that merely “works”.
That mindset is what led me to notice a very small but persistent problem in my home setup. I have a robot hoover, and it has an annoying habit of getting stuck under my computer chair. Every time it runs, it eventually wedges itself beneath the chair’s central pole and gives up.
At first, the solution felt embarrassingly simple. I could just put a cushion under the chair to block the hoover from getting underneath. The problem with that approach became obvious almost immediately. My hoover is scheduled to run automatically, and any solution that relies on me remembering to move an object into place is already flawed. Automation breaks the moment humans have to manually intervene.
Because I own a 3D printer and enjoy taking on small, practical projects with it, my next thought was to design some kind of physical barrier. Initially, I considered modelling something entirely from scratch, but then I remembered an important principle that applies just as much in software as it does in hardware: reuse beats reinvention whenever possible. I’d previously printed filament spool holders, and the shape was almost perfect for this problem. The circular profile and central opening looked like it could sit neatly around the chair’s pole and create a permanent obstruction.
Instead of starting with a blank canvas, I imported an existing spool holder model into Tinkercad. The model was made of two halves. I kept one half completely intact and used it as the base. For the second half, I removed the spool wall entirely, turning it into a circular, clip-style piece designed to snap around the chair pole. On screen, the idea looked trivial. In reality, this is where the complexity started to show.
My first few attempts failed for reasons that anyone who’s done hobbyist 3D printing will recognise instantly: tolerances. The hole was either slightly too large or slightly too small, and getting that balance right was far more difficult than expected.
Unlike industrial manufacturing, you’re not working with perfectly predictable materials or machines. Plastic flexes, printers vary, and real-world measurements are rarely as clean as the numbers you type into CAD software. My first instinct was to leave the part slightly oversized so it would at least fit, but that introduced a new problem. When I moved the chair, the printed part scraped along the floor. And as a self-confessed min-maxer, that compromise was unacceptable.
The breakthrough came when I stopped trying to achieve a perfectly uniform fit and changed the geometry instead.
I redesigned the piece with a tapered profile, making it slightly larger on the entry side and slightly smaller on the opposite end. This meant that when I pushed it onto the chair pole, the narrower section would flex just enough to clamp tightly in place. The result was a snug, secure fit that didn’t scrape the floor and didn’t move unless I wanted it to. It solved the problem cleanly, permanently, and without requiring any ongoing effort from me.
What stuck with me most after finishing this tiny project was how much thinking, iteration, and cross-disciplinary problem-solving went into something so minor. This wasn’t just a bit of plastic under a chair. It was a small example of product development spanning automation, human behaviour, software-style iteration, and physical constraints. Even the simplest ideas often take far longer than expected to get right, and that’s precisely why good products feel so effortless when they finally work. Simple problems are rarely simple once you actually try to solve them properly.
Member discussion