Vibe coding
Vibe coding is a style of software development in which the developer describes intent in natural language and an AI assistant produces the code, with the developer steering and reviewing rather than typing most of it.
It works well for exploration, prototypes, unfamiliar APIs, and throwaway tooling, where getting something running quickly matters more than the shape of the result. It works badly as a way to build things other people depend on, because the code arrives without the understanding that normally accompanies writing it.
The discipline that makes it safe is review at the level of the diff rather than the summary, tests that would fail if the change were wrong, and a firm rule that nothing touching authentication, payments, permissions, or migrations ships without being read line by line.
How it works
The developer describes the feature or fix in natural language, an AI coding assistant writes or edits the code, and the developer runs the result, reports what is wrong and asks again. Modern tools can read the whole project, run commands and tests, and edit several files in one step, so the loop can move from idea to a working screen in minutes.
The developer's job shifts from typing code to specifying clearly, checking the result and deciding what is good enough to keep.
Example
A founder can describe an internal dashboard ("a table of this week's bookings from this CSV, filterable by city, with a total at the bottom") and have a working version the same afternoon. The same approach for the public booking system that takes payments would need the code read line by line and tested before launch.
Common mistakes
- Accepting changes by reading the assistant's summary instead of the diff.
- Letting generated code put secrets or API keys in the front end.
- Shipping without tests, so the next generated change silently breaks the last one.