This morning someone posted a video showing a version of Current they had built with an LLM. My reaction wasn’t to be upset or threatened or defensive. I felt disappointed. I wish they had pushed further, or added something new. What they built lacked a lot of the character and philosophy of what I did and only approximated the look.
The hard work of building a thing now isn’t writing the code. But I don’t think it ever was.
I differ from a lot of longtime engineers in that I don’t find the act of writing code to be sacred or really all that original. I’ve written code for 25 years and I don’t feel like I’ve owned any of it, or that I genuinely invented any of the approaches I’ve taken to solve whatever problem I was building against. The reason I had to write the code in the first place always felt more like a bug than a feature. Some of the things I’ve done felt nice - tricksy logic that accomplishes something that the machine didn’t want to, or the satisfaction of an elegant solution. But those things aren’t why the software exists in the first place.
Where I do feel a sense of ownership and pride is the philosophy.
The hard work of building a thing is developing a belief and a philosophy for the how and the why. Being able to zoom out and reason from first principles. Being bold enough to eschew decades of generally accepted interface design. Cultivating the resolute spirit of taking a side in the argument. Surfacing from the dopamine stupor of the app you’re using and taking an objective look at the screen and wondering why it looks that way.
Most of what I see on various indie builder social channels are new builders excited to make a thing that looks and behaves like the other thing, and most of what they post are screenshots of sales or progress they’ve made achieving what’s already been done, in the shape of what already exists.
I think it’s really great to be excited about building things. There’s an agency, a sovereignty you can feel when building and I’m over the moon that more people get to experience that.
But if I might: my advice to new builders is to trust that the bajillion dollar, bleeding edge system you’re using is capable of doing what’s already been done.
That means that you can take risks. You can ignore the prior art. You can push further and discover what your tastes are and how you might make better software, and differently shaped software. Use those new powers to build the future, not another piece of the past.