I run a small store that sells 3D-printed objects, one at a time, printed only after you order. It is called The Cult Project, and the name is a joke I take seriously. The cult is a wink. The craft is not.
It started the way these things do, with a machine in a spare room and a mild grudge against mass-produced junk. The little objects you buy without thinking, made by no one for no one, destined for a drawer and then a landfill. I started printing my own instead, the weird and specific ones, and enough people asked for them that it turned into a storefront. India-first, priced in rupees, prepaid only, and nothing printed until someone actually wants it. Made to order, never made to waste. That last line is not marketing. It is the whole operating model, and it is the reason there is no shelf of unsold inventory anywhere in my house.
A side business, run like a product team
What makes this interesting to write about is not the printing. It is that I run the thing the same way I run engineering at work, which means I delegate aggressively and own the taste completely.
The store, the product models, the slicer tuning, the marketing copy, the apps, all of it is built with AI agents doing the heavy lifting, often several of them at once in separate branches. They write the OpenSCAD, draft the listings, generate the renders, and do the research. What they do not get to do is decide whether something is good. That stays with me, and I am ruthless about it. One day an agent authored a brand new keychain model from scratch, and I looked at it and said it was hideous and to undo the whole thing. The rule since then is simple: reuse the pipeline that already makes good objects, never let the machine reinvent the thing I have already learned to get right.
That division of labour is the actual lesson. The agents are astonishing at volume and terrible at taste, and the moment you confuse the two you start shipping things that are technically finished and quietly wrong.
Selling colours, not nations
The sharpest constraint turned out to be intellectual property, and it ended up improving the whole catalog.
One of the first products was a football keychain, and the first advert for it leaned on a national team during a World Cup. It was rejected, correctly, for trading on someone else’s marks. So I reworked the entire framing away from nations and clubs and toward a question the customer answers for themselves: which colours do you carry. The product did not change. The story around it did, from borrowing someone’s identity to celebrating your own, and it was better for it.
That pushed me to a rule I now apply everywhere: sell colours, not nations. If you print and sell physical goods, the licensing reality is strict. Only a small fraction of the models floating around the community are actually cleared to sell, and the safe, original, IP-clean path is narrower than it looks. Treating that as a discipline rather than an annoyance is what keeps the store honest, and it forces a kind of originality that is worth more than the shortcut it replaces.
The part most founders leave out
Here is what has not worked, because a post that only lists wins is a sales page.
I have run paid campaigns that made no sales at all. One spent real money for a trickle of clicks, a single add-to-cart, and zero purchases. The useful part was the diagnosis: the advert was fine, the page and the offer were not. That is a far more actionable failure than a vague one, but it is still a failure, and I am not going to dress it up.
The bigger hole is honest to admit. I have not properly tested whether people will pay what I am asking. That is the single most important question a store has to answer, and the right way to answer it is to put up a page, name a price, and see who reaches for their wallet before you make a single unit. Finding that out for the cost of a landing page is the entire point of doing it this way. I know the discipline. I have not yet finished applying it to my own store, and writing that down is a decent way to make myself.
None of this needs a grand conclusion. I like making small, specific objects well, I like running the operation like a product with real constraints and honest metrics, and I like that the hardest calls, the ones about whether a thing is actually any good, are still mine to make. The machines handle the million. I handle the one.