I Tried Vibe Coding an Audio Streaming System in C++: Here Are the Results

Published: (January 15, 2026 at 07:40 AM EST)
3 min read
Source: Dev.to

Source: Dev.to

Letting the Vibes Drive

To be clear, I didn’t go in totally blind. I nudged the LLM in the right direction because I understand audio streaming, ring buffers, and how this needs to integrate into a renderer. Even so, the result was… exactly what I expected.

  • It works.
  • No crashes.
  • No obvious errors.

But if you look closely, it doesn’t really work.

What I got was the probabilistic average of how someone might implement audio streaming. No novelty. No awareness that this stream lives inside a renderer. Just the most statistically likely solution.

And honestly, being average isn’t even the worst part. The worst part is this:

2.1 k lines of something.

2.1k lines vibe coded

This has nothing to do with AMP, by the way—it’s a great tool. Their free‑to‑paid transition is actually impressive. These are just frontends to LLMs doing what LLMs do.

For reference: audio streaming with something like raylib (which is the case here) is sub‑100 lines of clean C++ if you know what you’re doing.

So what are those 2 k+ lines? Look closely at the end. The TODOs.

LLM todos

At first glance, you might not see the problem. Here’s the problem:

I now have an average solution that I must read and debug.

  • My repo is polluted with thousands of lines of autogenerated markdown “documentation”.
  • I waited a long time for this to generate, time I could’ve just spent writing the thing.

lot's of vibed markdown

The Real Cost: Reading Code

If you’ve ever inherited a codebase, you already know this pain. If you haven’t, here’s an exercise: fork any project you rely on and try reading it.

Reading code you didn’t write is hard. It’s not connected to your mental model. It doesn’t live in your head.

Now try reading code that mostly works, but not quite. There’s an old saying in low‑level circles: “I like segfaults because they tell me exactly what’s wrong.” And it’s true. There’s nothing more terrifying than code that looks reasonable, runs, and silently does the wrong thing.

That’s what vibe coding gave me. In the end, I spent more time dealing with this than I would’ve spent just writing it myself, using my brain, plus LLMs where they actually help.

Now imagine someone with no programming background. How many times do they re‑prompt? What do they even say is “wrong”?

Where I Actually Landed

As I write this, I’m honestly demotivated. I have zero desire to look at those changes. So I’m going to use an LLM the way I actually recommend using one: as a tool.

“Claude, comb through this and give me a concise outline of how it works, plus links.”

That’s it.

Final Thought

Anti‑vibe coders aren’t anti‑LLM. We’re anti brainless marketing fantasy and the very real damage it does to beginners. That’s all we’ve been saying from the start.

But hey. It’s your life. Use it however you see fit.

Back to Blog

Related posts

Read more »

⚙️ What is Software Compilation?

In general computing, Compilation is the process of translating a high-level programming language which is human‑readable, like C++, Rust, or Java into a low‑le...

Why Prefer Textfiles? (2010)

Article URL: http://textfiles.com/uploads/textfiles.txt Comments URL: https://news.ycombinator.com/item?id=46459425 Points: 9 Comments: 2...

Starting My Journey into C# .NET

Introduction I haven’t mastered Python yet, but I’ve decided to begin studying C and .NET as my next step. While attending university, I explored several progr...