Minimalism Club and some rambling thoughts about AI

Minimalism.club is a silly little conceptual art joke of a website that I released into the world over the weekend. The central premise is that it’s sort of funny that Minimalism requires books, a documentary, a podcast, and many YouTube channels. Why not a club too?
So if you were to have a club for minimalists, how minimal could you make that club? That’s it. That’s the website.
The site is built on Astro with a smidge of React and is hosted on Cloudflare. I created graphics for the site in Affinity Studio.
I won’t spoil the fun. Check it out. It’s silly
This silly website is a little different from other silly websites that I’ve created. Minimalism.club is 95% vibe-coded. I reserved hand coding for a couple of bug fixes and visual design. I’m fast enough on my fingers with Tailwind classes that I can sculpt a UX out of HTML pretty quickly. Fast enough that a coding agent doesn’t provide much benefit. Maybe visual design coding is my John Henry moment.
I’ve recently been investing more of my hand-on-keyboard time into so-called “vibe-coding” - that is - creating software with AI powered code-generation tools. Some folks call it “agentic coding” which I hate. I think of it as Google Translate for code. You type in English, the machine gives you code. This is where the art of vibe-coding entirely lies. If you are unable to express your ideas in clear terms, the machine will give you garbage. But if you can write a good spec, you can get good code. The other subtle art is an instinct for knowing when to stop. You may have a 10-step plan in your head, but perhaps you should only have the machine do steps 1 through 3 first. These machine learning models have sort of working memory, known as a “context window” - that is the amount of data it can hold while processing a prompt. Many popular models can hold a context of about 200,000 “tokens” - which is a numerical representation of a word or part of a word. To keep things simple, I “round up” token to word in my head. 200,000 sounds like a lot, but not in a large software project. So if you can develop an instinct for staying under the context limit, you will find more success.
My first real success with vibe coding came with some clean up work. I support two mobile applications as a side hustle.These apps are built with React Native. They are long-lived and React Native changes frequently. I needed to some very tedious clean up. I chose a couple of representative examples, and hand coded the clean up work I wanted done. I instructed the robot to read these files to understand the pattern I wanted, then to do the same thing here and then here and oh! over here too. The robot (GitHub CoPilot) did the job. My biggest complaint was that it was over eager. It kept asking “do you want me to do this with the whole project” and I had to tell it to slow down there Tex, let me review the work. In the end dozens of files were tediously updated without bugs and I removed some large, dated, kludgey dependencies from the project.
In my work life my job title is Director of Technology. While I do some actual programming work, I feel I am actually paid for my experience, decision making, team leadership, client relations, and Don-Draper-esque pitch abilities. When I touch code it’s generally to solve a very hard problem (experience), or to set the stage for how a project should work (leadership). Sometimes I touch code because there’s no one else to do it. The point I’m making, I guess, is that I’ve been a bit sheltered from the progress these AI powered tools are making. I follow the new, so I’m informed but that’s different from knowing.
My company has been carefully, cautiously, but steadily embracing AI tooling for engineers. Recently I received formal blessing to use our tools of choice. I’ve made a very intentional effort to get better at using these systems. Building Minalism.club in about 6 hours start to finish was an experiment to see what I’ve learned. Can I start from scratch and make something that was only a nebulous concept in my head? Yep. I sure can. The slowest part of the project was futzing over colors and layout choices.
I like to stay current. Even if I’m not using the latest engineering techniques (because my job is meetings) I want to know enough about them to be dangerous and to help make decisions.
I suspect and I’m worried that software engineering is about to become a much smaller field. I need to be prepared to survive.
The landscape
You may have seen in the news recently that the CEO of Block, Jack Dorsey, laid off about 40% of the company because they believe that AI tooling will allow them to do more with less.
It’s unclear if the gains from AI are beginning to be realized, if they have already been realized, or if this is a big bet on the future. There is also the very real possibility that this is just a lie to cover up for layoffs that resulted from over-hiring during the COVID pandemic.
Part of my skepticism follows this kind of reasoning: If you can produce the same amount with half as many people, why aren’t you producing twice as much with the same number of people?
Popular tech YouTuber and serial start-upper Theo posted a 40 minute video where he dives into this topic. You can watch it here. Disclaimer: Theo is an acquired taste. His video may not be appropriate for your workplace. But he’s a very talented engineer in addition to being a streamer and he and his team have built lots of amazing things with only vibe-coding. I think his opinions are worth considering.
Theo credulously accepts the Block statement about layoffs being due to AI. And to be fair, Theo is shipping like a madman. I can understand why he believes it. In his video he makes some very important points. Code used to be hard to produce. It required a large number of expensive talented people. Those people have to be managed, wrangled, and focused on the right job to be done. But in an AI world - the bottleneck is not creating code. Decision making and code review are the bottlenecks. AI tools replace programming, but they don’t replace engineering.
Jack from Block may be full of shit, but the tools are real and they really work.