Published on
4 min read

Vibe-Coding - The good, bad, and ugly

Authors
  • avatar
    Name
    John Moscarillo
    Twitter

Vibe-Coding - The good, bad, and ugly

The Good

When we talk about the "good" in vibe-coding, we’re really talking about how these tools empower us to skip the repetitive parts and focus on what matters—solving problems and building features for real users. If you already know what you want to create, these tools help you get there faster. It’s a boost for experienced developers that know what they need and can get ai to generate it quickly with little to no editing by typing a sentence vs. manually coding everything.

The Bad

But there’s a flip side. If we rely too much on code generation without a clear idea of what we’re building, we risk creating code that gets thrown away as quickly as it’s written. It's easy to fall into a whack-a-mole pattern: generate, delete, generate again, never quite landing on a solution that fits. Without a specific goal or user need in mind, the process can become quite frustrating. It’s a reminder that technology works best when guided by thoughtful intent and a deep understanding of what you need generated by AI.

The Ugly

Here’s the part that’s hard to ignore: every line of code we generate now comes with a price tag. I have never had to count pennies for each line of code I generate. This shift forces us to decide when the speed of ai generated code outweighs the cost to generate that code.

Application Examples

I attempted to create two things using vibe-coding. A web application for Ice Cream trucks to be tracked and viewed on a map. The second was an API to serve tiles for mapping weather radar.

I am familiar with building web applications so the former was very smooth as I had a clear conceptual model of the parts and what I needed to create them. I have built these many times in the past so building the parts such as building a navigation component or building a role-based authentication system was just a matter of telling the AI what to generate with very specific details as I know what is needed an can provide that detail. This familiarity allowed me to leverage vibe-coding effectively, generating much of the boilerplate code quickly. The downside was this cost me $20 in claude fees vs free coding by the time the application was complete.

As for the radar layer this was less successful. Since I jumped in without understanding the available datasets and process for generating the correct output, I was at the mercy of what the AI was telling me. The AI was giving me incorrect datasets and when I would get to the final output generating tiles they weren't what I expected or intended. I finally went back studied the datasets and outputs and then was able to create the correct tiles and got better results. This is still a work in progress as I was unable to get a global dataset and only have US data working.

Conclusion

Vibe-coding is a powerful approach that can significantly enhance our development process, but it’s not without its challenges. By being aware of the good, the bad, and the ugly aspects, we can navigate this landscape more effectively. Embracing the benefits while remaining mindful of the pitfalls. This will help us leverage the power of these tools.