One of the reasons I love programming/coding so much is that freedom to conceive and create something that did not previously exist; to bring the imagination to life. I love working with wood although I am terrible at it - I cannot seem to cut in a straight line to save my life - honestly, it's pathetic :) Enter, 3D Printing! Yes, there some constraints such as size - my build plate area on my Monoprice Maker Select V2 is 200mmx200mmx180mm - but really, I haven't yet needed to exceed these limits in a single print just yet.
My most recent prints include an "Easy Grab" tray with curved wells that make it easier for me to scoop items out of (e.g., clips, small widgets, etc.) as well as a battery holder for my Osmo 4k camera. Both the grab tray and battery holder are shown in the side image. Doubtless, there are products out there I could purchase to hold the batteries, but this one does exactly what I need it to do - be mountable on the wall to hold batteries that are charged and travel with me to shoots while holding the batteries securely. The printed material cost was only about $1.55 (because I printed with medium quality settings) and there's something intensely satisfying to making something you need as opposed to buying it. Yes, there are reasonable limits to build vs. buy (the age-old programmer dilemma), but with 3D printing - so far - the sky's the limit.