The most important ingredient for vibe coding is good vibes

Vibe coding is based, actually. Especially if you have the right vibe.

Lots of people seem to disagree. You see a reddit (lol) post of a guy that is complaining about how his database got leaked. You take a screenshot and post it, saying, "hah, i told you! vibe coding is fake and lame!". You get likes. Wow

Meanwhile, the real vibe coders are issuing claude code commands, spending 1 dollar a minute on tokens. Building engineering marvels that they would have never had the time or patience for.

There is this myth that permeates through us - some strange worship of "effort". I am more interested in impact. It doesn't really matter how hard you worked - at the end of the day; the end result is the end result. Does it work? Is it simple and extendible? Will it be easy to understand for other people coming along in the future? That's all that really matters

The problem, I think, is that LLMs model all software engineers. And the median is very, very far below the right tail. They will spit out platitudes and add isms that are related to the latent subspace that you happen to be in simply because of the framework (yuck) or programming language that you chose. Awful error checking that doesn't need to be there, and adding "clever" incidental complexity.

But; you don't actually have to live this way. If your vibe is good, you'll catch a bad vibe. If you know what you are doing; you will give out specs that will keep the LLM on rails. And the more good vibes you add to your codebase, the more out of distribution solutions you employ, the less your code looks like normie slop, helps bring the LLM out of normie coder latent subspace, and more into the "I actually know how computers work" subspace.

LLMs love isms. They love being normal. They love acting like what a redditor would want them to act like. You have to understand them for what they are. What objective they are trained for. What the data that they are trained on likely looks like. They are tools, simulacra generating machinations. You just have to summon the correct simulacra.

This; is why I have a deep rejection of closed source tools that I can't understand. cursor, claude code. I'm vibe coding raw dog on top of an API. I have custom prompts and custom tools.

Good vibes as infrastructure

At the core of vibe coding, there is the ultra fast LLM output. You need to build the complement to what is now a commodity - lines of code made per unit time. The complement to that is a workflow where you can comfortably look at the diff of changes, and where you can quickly test and send feedback to the system that you are using.

The framework itself that you choose is incredibly important. If you're doing some next.js vercel slop, just stop. That is not what good programmers use. That's not what good programmers even do. They don't do that - they are building other stuff. Like, VideoCult, the three man team from Boston that made rainworld. Or the Finnish game developer that made Noita. Those people write good code. But they aren't writing SSR memes with a framework that assumes you don't understand how things work. They are writing their own game engines.

You should also be writing your own engines! It will free you from shitter programmer latent space - building your own frameworks, and implementing things within those frameworks. You'll escape the tight rails of what is "the right way" to code. You'll teach yourself how computers work. You'll find new edges to exploit against

The infrastructure you vibe code should permeate the good vibes through your code base. It should encourage the LLM to have good vibes.

The future of vibe coding

People will build their own frameworks / programming languages and train models w/ RL on those specifically, to solve for a certain task. Programs will ship with an LLM that will program a new interface for whatever the user desires. End users will be the programmers, the RL trained tiny LLM will be carrying out what they specifically want. At the bottom of everything, is infrastructure. Get this right, and get good.

Previous
Previous

Consistently making progress

Next
Next

What if you had more agency?