Vibe coding is slop coding
Vibe coding has become the de facto term for AI-driven software development. Some flavor it as spec-driven development (SpecDD) or classic test-driven development (TDD). In either case it is the AI that is driving; the actor navigates while the spec docs or tests serve as guide-rails. The term "vibe coding" describes the process by which code was generated, but it does not describe the product of that process. A term that adequately conveys what was created in addition to how would be more useful. "Slop coding" is a better alternative to vibe coding because it captures both the process and product. Slop coding builds on the current definition of "AI slop", draws on positive examples of slop as controlled disorder, and serves as a reminder of questionable quality.
AI slop
Permalink to “AI slop”AI slop is a term for low-quality and low-effort content generated by AI. Coined in the last few years, it is usually used to label images or videos on social media. The term communicates that the producer did not put significant time into the process nor effort into the product. That describes AI-driven software development. It also invites the consumer and producer to question the quality of the product. This is a good thing, and a practice that we should be doing with content regularly. Labelling an artifact as AI slop starts a conversation about the product explicitly and the process implicitly. Slop coding builds on AI slop regarding the product while referring to the process.
Slop can be good
Permalink to “Slop can be good”Outside of the AI context, slop can have both positive and useful connotations. A slop sink or utility sink is helpful for cleaning and rinsing. A slop room or mud room is a place to remove dirty boots and clothing before entering a home. In schools, a teacher might use "sloppy copy" to refer to a student's rough draft. In these examples slop is disorder that must be contained to preserve order elsewhere. Slop captures a place where it is okay to be messy. Think of young children in art class who end the lesson with paint all over their hands, smock, table, and floor. This is good. When disorder is expected and contained, it can be an important part of the development process. Understood this way, sloppy code is the first phase of "make it work, make it right, make it fast." Slop coding can be the messy first step in developing a quality software product.
Questionable quality
Permalink to “Questionable quality”It can only be the first step because AI-driven software development generates code of questionable quality. A few iterations with the model may result in working code, but the actor may have no idea how it works. The quality could be high or it could be low. And the reality is probably somewhere on that spectrum for each component of the software. There are many ways to solve a given problem, which greater degrees of clarity, efficiency, and resiliency. So like Schroedinger's cat, the product of AI-driven software development cannot be described as high or low quality. The only way to accurately determine quality is to question the code through inspection. That step is crucial to code quality and product health. Code must be reviewed by someone who understands the current system, its limitations, and future plans. Referring to the process as slop coding and the product as slop code is a reminder that the quality is unknown and needs to be evaluated first.
Slop coding
Permalink to “Slop coding”Vibe coding is a fun term for the process of building with AI. It has enabled people of greater and lesser technical abilities to create software that was not previously possible within the constraints. While focusing on the process, vibe coding fails to describe the product. Slop coding should be preferred as an alternative that describes both the process and the product.
Slop coding is an AI-driven software development technique for creating software. The resulting slop code serves as a rough draft for future iteration and refinement. When paired with other quality-assessment techniques, it can be a valuable part of the software-development process.