Search
Vibe Coding: Think Slow, Cultivate Taste, and Build Fast
Vibe coding is the next evolution of Prompt Engineering, when you instruct your AI Agents to run autonomously. The best example is Claude Code, but there are more.
# When Vibe Coding Works Best
Vibe coding is best when you have a framework around it. This is what we had with Data Warehouse Automation tools, and e.g., dbt.
We need to bring that back. Or like I use with GoHugo, it’s a predefined framework with rules and governance, so the LLM is very good at adding things, versus starting from Scratch.
Simon Whiteley with Advancing Analytics building something called LakeForge, which is essentially that too. The framework is the Declarative Data Stack, if it’s all code, the better. And LLMs can then extend and enhance.
It’s similar to Spec Driven Development (SDD), where we write our instructions in claude.md and Claude or any AI Agents implement them. Also, what Esco Obong said what they do at Airbnb, the hard part is coming up with the spec, talking to business, etc. The Coding part is small.
# Using an Existing Framework
I think a framework with clear rules and guardrails, like the declarative data stack, works best with agents, such as my website built with GoHugo. Building one from Scratch, AI is terrible at it (at least from a maintainability perspective), but from an existing Hugo setup, amazing.
I wrote a little more about « Data Modeling for the Agentic Era: Semantics, Speed, and Stewardship», which applies to any agent’s project, not just data modeling.
Note
Mario Zechner, creator of Pi (Agent Coding), calls it to build “modular” systems in Building pi in a World of Slop. He also say Slow down, learn to say no. Again, back to my favorite mantra, Hell Yeah or No, which also works amazing in real life.
# Should We All Build Right Now?
I think. If you’re building right now. You should go hard all-in on what’s happening right now. Raphael Schaad. Tweet
Building, or just prompting? Not sure if that will lead us to a good place. To build for ourselves, sure, it’s fun. But for professional services, not so sure, yet.
But also, if you don’t use it, you get FOMO, and fear of being too slow.
# Craftmanship and 10x Developers
Is craftsmanship gone with AI? This excellent video goes into it: you can build something on demand, but you have no attachment to what you’ve built. So how are you gonna sell or rave about something you don’t even have any connection to? No hardship, no challenges, no learnings with AI.
Watch the video of I was a 10x engineer. Now I’m useless, or read Vibe coding and the death of craftsmanship.
This was also the message of PewDiePie’s video, Trains his own model, that he struggled so much that he learned so much. With vibe coding on auto-pilot, this is going away, fast.
# Vibe Coding Makes You Exhausted
AI making you Exhausted and potentially addicted. They makes us lazy. They make us do the Shallow Work, instad of the Deep Work.

Great example: Generating an email that we sent do an actual human being | Source:
AI Written, AI Read cartoon - Marketoonist | Tom Fishburne
# Soulless
AI agents don’t have souls, they have no characters. What’s the kick, the fun, the joy of it? This is also my take on Will AI Replace Human Thinking?, and how it is powerful and distractive at the same time, but lacking any depth.
# Shallow Work and Cost
Always be careful on Shallow Work vs real work you’re outsourcing to agents. Also highly related, Jevons Paradox, where the total cost of AI, because of everyone using it, is rising.
# Will Vibe Code Replace Actual Programmers?
Some even say vibe coding is killing open source - see How Vibe Coding Is Killing Open Source that says:
Generative AI is changing how software is produced and used. In vibe coding, an AI agent builds software by selecting and assembling open-source software (OSS), often without users directly reading documentation, reporting bugs, or otherwise engaging with maintainers. We study the equilibrium effects of vibe coding on the OSS ecosystem. (check its Whitepaper)
Read more at Will AI Replace Human Thinking.
# Code Review in Times of AI
More than replacing, which is not the case any time soon, is the question of how to Code Review that can keep up with the amount of code that can be produced in minutes.
More on Code Review in Times of AI.
# Complexity Will Hit Us when Coding
by Rich Hickey
# How to Code with AI?
See How to Code with AI.
# Vibe Coding Tools
See Vibe Code Agents and AI IDE and AI Orchestrators.
# Thinking Slow: Cultivate Taste
See Slowing Down
Additional layer of Coding makes us slower, not faster
Apenwarr says on his blog about Every layer of review makes you 10x slower.
# Shipping and Figuring it out
Built a full CRUD app in 40 minutes last week. Spent three hours the next day figuring out what it actually did. PromptSlinger
Yes! What happens to me is that the thinking is before, I use the plan mode and go forth and back extensively. And then what it builds, I “usually” understand if it’s a project of mine (not from scratch, but with the framework) and Claude built what I wanted.
But I think that’s only possible where I know the things.
What do you think?
# What’s the Future?
I think the Future with Generative AI, is “Having Taste (with AI)”.
# Vibe Coding Example
# Upgrading My Project Requirements with Claude Code
I upgraded an old project of mine, practical.ssp.sh, with Claude Code, which is so cool, as you don’t need to do the hard work, and it just upgrades. On the other hand, I have no clue if all the changes it’s done are correct.

Sure, I can run the pipeline and assess more or less, if it still works. But all the details I’ve built with 100s of hours before, are they respected, or just ignored?
I pushed the PR to look at the changes later. I have almost no desire to look at it, although it’s so cool to see the latest version, quickly migrating from MinIO to SeaweedFS and adding back old steps.
But I didn’t learn anything. It’s fun, and not so fun at the same time. Very weird.
# Email Client for Markdown in the Terminal with Neovim
Neomd, a TUI for email reading in Markdown and writing in Neovim, fully vibe coded with heavily instructions from me.
# Testing and Quality of Vibe-Coding with Self-Experiment
Everyone wants to use AI to automate data work, but nobody wants to review, let alone maintain it. AI-generated code is very similar to written text, except that code is more functional. I did a little self-experiment to test the maintainability and threshold on when it starts to crack.
First, because I didn’t find a Markdown TUI email client, but 2nd also because I wanted to see how far I can go with a programming language I don’t know in details (Go) (see also Python Was Built for Humans, Not Agents), and vibe-coded my own email client, neomd.
I found that when the code is small and the prompt.md is clear, specifying your goal and referencing projects, all features are clear, with no workarounds or errors surfacing; everything is smooth and really great.
It starts with a larger code base, where you vibe code fixes that don’t account for the overall features or undo a fix you just did yesterday. And I must say, it’s really hard to let the AI model add a simple fix for something small, without breaking. Mine is currently at 11,029 lines across 25 files (excluding tests and docs).
Ah, and yeah, the tests are vibe-coded too, so do I trust them? Not really, I saw Claude just changing its tests all the time, instead of creating tests first and then fixing the code to match the test, it always does it the other way around.
Who doesn’t know the good old forth and back with AI? I asked to verify the safety of a change, as I saw too many changes and quickly checked it, and didn’t work - but AI thought otherwise 😉:
- Me: Please verify safety
- Claude: “Let me verify the safety […] Perfect! […] All tests pass, no Breaking Changes.”
- Me: “But there’s an error, see X and Y”
- Claude: “You’re absolutely right - this is broken!”

But then again, am I happy with my vibe-coded client? Yes, I use it daily and am trying to switch full-time. It’s a joy to use and to build if you know exactly what you want. But the hard part starts now, keeping it working for a long time. I will report back on how it goes. And it’s a very good experiment to get a feel for how vibe coding is as of now. What’s yours?
Ah, and if you are interested in testing it or seeing the tests or code it created, you can check it out on GitHub.
# Learning? Good Architecture Matters
Good architecture matters, especially decoupled architecture.
I notice the specs are getting too big for the model to read each time. I have all the specs written down as docs (markdown) with all the features, etc., and a CHANGELOG with all the changes. Still, there’s a point where the details and overall architecture are just too big for the model (and the probability predictor) to handle.
Docs (specs if you want) are 2,724 lines across 16 files, and tests are 5,667 lines across 15 files, and I feel it cannot handle it anymore. But that’s probably also depends on the structure.
On my website, also GoHugo, I have a much larger codebase, but the framework lets the model work in dedicated areas without breaking others. Which, in this vibe-coded project, is not the case. I guess poor architecture as vibe coded from the start!
This is exactly the point I made Using a Framework earlier, and it’s verified once again by this experiment. And Test Driven Development high-quality, manually written test will get more important than ever.
# Other Example: Codebase Disaster after 6 Months
Shipping is fast, maintaining is a nightmare. Changing something here, something else breaks. I’m sure these kind of stories will be all over:
# Token Usage
It’s changing, more companies monitor and restrict due to high cost. Great break down by Gergely Orosz at The Pulse: token spend breaks budgets.
# Vibe Coding ≠ Vibe Coding
Wes McKinney made it clear in an interview with me, that what he does, it not vibe coding, but does agentic engineering. All the planning, architecting with superpowers and his tools, it’s not the same as vibe coding.
The future will not be buy vs build, but buy vs. build vs. vibe code, ThePrimeagen
says at tokenmaxxing talk. AI Token Efficiency will be a thing too.
# Further Reads
- How Vibe Coding Is Killing Open Source | Hackaday. Check out its related paper AI Whitepapers.
- Self-Improving Software | Jeff Lunt
- AI Tooling and Open Source handling PRs in Apache Arrow
- The latest on Vibe Coding with Claude by Andrej Karpathy
- Token Anxiety
- Use Given/When/Then Specs to Make AI Generate Production-Ready Pipelines, Not Spaghetti Code – Start Data Engineering by Joseph Machado. Behavior-Driven Development is used with Gherkin.
- Agentic Coding is a Trap | Lars Faye
