Open loops everywhere
resisting never-ending refinement and the false promises of bespoke software
I’ve been writing recently about single-purpose software, friction as a rational choice, and why bounded spaces and developer-made tools matter more, not less, in the age of AI. Today I want to come at some of these same ideas from a different direction. Not an argument about design philosophy. Something more personal.
a room with no decisions
The most liberating thing I’ve ever experienced is a room where I didn’t make any decisions. A room where I couldn’t make any decisions. Where I was completely constrained in my choices.
Sitting for retreat in a zen temple means being awoken well before dawn. It means a morning tea you don’t select. It means going to speak with the teacher when you are invited, not when you would like, and the meeting ends when the teacher decides. It’s being corrected on how to breathe and hold your hands. It is being directed on the angle your chopsticks sit at next to your bowl. And it is, period after period, hour after hour, day after day, sitting down at the sound of the bell and remaining motionless until the bell rings again.
As a senior student, I used to greet new visitors arriving at the temple. They would often tell me they were there because they wanted to feel calmer, or to stop their racing minds. I would tell them: You may or may not, but this is what I do know. We spend all of our time responding to our impulses. We don’t even notice. We have a thought, we follow it. We have an itch, we scratch it. You’re here to find out what happens when you stop doing that, even for an hour.
That is what constraint offers. Not a promised outcome, but the conditions for something to emerge that can’t emerge if you’re busy deciding what to do next.
In the temple, the form, the manner, the time, and the rules of everything are determined for you. This is actually why it works. It is the opposite of bespoke.
the bespoke promise
Here is the promise being made to all of us in the age of bespoke AI: There will be no more need to rely upon others or tools made by others. We can all build our own tools, and the bespoke tool promises perfection. It will be exactly what you want, tailored to you, and endlessly refine-able. What a relief to not have to convince the maker of the tool to change it, or to have to bend your own desires to the form of an existing tool. And all of it will be easy.
But the bespoke promise is a trap. When it is everywhere, we will be worse for it, not better.
open loops everywhere
I was listening to a podcast the other day, and the conversation was all AI early-adopters energy. At first the energy was exciting. But the more I listened, the more it sounded like they couldn’t spend enough time. Not because of pressure to produce, but because they were just being drawn in further and further. I hear sharp, inquisitive people, but I also hear people who increasingly sound like they can’t put it all down, even if they want to.
It’s not surprising when I step back, though. Because endless refining actually does not lead to perfection, relief, or satisfaction, it leads to more refining. It hoards our attention, and our attention is finite. I’d say it is precious. In the end, the promise of self-made, bespoke tools will actually deliver something else:
Open loops everywhere.
I listened to a friend talking about the fitness tool he built. He was excited, but also wasn’t hearing the irritation in his own voice as he described the GitHub commits and debugging he was doing. He had spent a whole weekend refining the tool, instead of doing the thing the tool was going to help him with: going outside and getting fit.
I can hear the counter-argument: this too will go away, as agents get better and better at smoothing this process. But this will make it worse, not better. Agents getting better doesn't close open loops. It just makes them less visible, which means we open more of them, at the same time as we stop noticing their insistence.
It’s like the question, Is this the way you want it? being asked of you over and over and over.
inversions
And here is where it gets dizzying for me. Bespoke tools are promising continuous improvement and optionality in ways that feel like a trap. But these are two concepts I haven’t simply agreed with, I’ve evangelized. I’ve built my career on them.
Fun case in point: I own the URL unfinishedproduct.com. I bought it years and years ago. I didn’t know what I would do with it, and still didn’t when someone offered me a silly sum of money for it. I refused, and in keeping with the spirit of optionality, it remains unfinished. I bought it and held it because I believed so much in a core product ethic: a relentless, joyful refinement to deliver an ever better expression of a point of view, an ever-better user experience. Ideas work this way, too; the ones in these essays are unfinished products. All of it still sounds right as I type it.
I’ve held optionality close to my heart even longer. The idea that you shouldn’t close loops early, that there is real value in keeping them open. It’s a humble idea. You can’t see the future, so wait until your hand is forced. You’ll know more then.
But does this hold up with the option to change the tools you use, each moment and endlessly? We know what happens when humans get unlimited optionality. We’ve already run this experiment with smartphones, and nobody won. And AI is taking the idea of unfinished to a new place, a place where you are elevated to the arbiter of when something is finished. This sounds like a promotion, but it is not.
Which brings me to the most dizzying inversion of all. Tinkering. I love nothing more than a new set of Legos. My family doesn’t need to ask me what I want for holiday gifts. But tinkering isn’t just about toys. Professionally, the software I love and build every day is tinkering-as-mastery at its core. The most amazing software is designed for play, engagement, and storytelling. But the promise of bespoke tools hijacks our beautiful tinkering impulse, and moves it from the activity at hand to the tool itself.
Suddenly, you are the product manager of all your life’s tools. It’s a job you never applied for and never wanted, but you’ve been convinced to take it on.
I don’t feel like I can discard these ideas I’ve built so much on. But I’m also not sure how to reconcile them.
just a user?
And still the promises keep coming: AI will make everyone a co-developer, and the future is bright because everyone can be a creator. There is a way in which this is an appealing, beautiful idea. I couldn’t be more excited about freeing interesting ideas which have been blocked by long timelines, short investments, or just an inability to code.
But this idea is not completely honest, because it sets up a sort of false binary. It implies that to be a user of someone else’s product is to be just a user, and the word just is cutting. It says we’ve been living in some less-than paradigm, a paradigm which bespoke, custom tools will finally free us from.
But “just a user” is an invitation.
Taken too far, and it’s so easy to do, the co-developer frame smuggles in responsibility disguised as agency. Now you’re not just seeking to master the activity the tool was designed for, you’re accountable for the tool itself. You’ve doubled your cognitive load and been told it is freeing.
Developer-made tools, especially single-purpose software, mean you can let go of all this. Yes, it means a tool which might feel imperfect. Yes, it means accepting friction, in the structure and experience of the tool. But this is the point. With developer-made software, someone else collected and sharpened the domain knowledge to make the tradeoffs, and passes on trust to the user. Someone engaged their craft to build, iterate, and refine a bounded space, where the loops are closed. Of course, not irrevocably if they are product people who believe in bringing their point of view to life. But that is their work.
showing up
Sitting zazen in a modern temple, you experience forms which have existed for thousands of years. On your own, you’d choose few of them and probably sustain none of them. This is why people struggle to meditate on their own. But these forms have been refined subtly, but with great humility, through the craft of people who dedicated their lives to it. And each one is a closed loop. They serve us well because of this.
No software has thousands of years behind it. But perhaps it is also true that no software should set us up to spend all our time responding to open loops.
Because what happens when we stop?
You get to show up and do the thing you came to do, not manage the tool, and not wonder if it could be better. And not respond to the impulse to refine. Just a user, with just the activity itself, with your full attention, in a space designed for it.
Is there an experience you value, for just the activity itself, with your full attention, in a space designed for it?


The idea that doing it yourself with the help of AI will somehow magically be easier and better on the first try than something from a team of experts feels like a classic example for mistaking knowledge for wisdom.
When we look at any product, we’re looking at the sum of the successes AND failures of the team that built it. AI can look at something that exists and figure out how to recreate that exact thing, but it can’t know all the choices the team behind it made (or intentionally didn’t make) that got them there. So as soon as you start tweaking things for the bespoke option, you’re doing so without the insight gained from all of that intentional striving. You’re unintentionally taking on that burden of effortful growth under the guise of making it easier.
I am certainly guilty of having bought a new notebook because in the back of my mind it will somehow make me a better, more consistent writer. Some of the conversation around AI feels the same way. That someone having the tool that makes something possible will make it easy and let us skip the hard, intentional work that leads to actual growth.