Coding With…Vibes?

I’m continuing my mission to ensure every post I write falls under ‘Security’ or ‘AI’, but I promise that not every article will be a list of to-dos or concerns. Today’s article, in fact, is rather positive. I want to talk about the app I vibe-coded this week.

The first step is to explain what vibe-coding means. Computers don’t speak English; their native language is a series of ones and zeroes called Binary. The problem is that most people, even developers, can’t decode binary into usable information. So, we have programming languages that turn computer instructions into human words so we can write instructions in an intelligible way.

Programming languages can be just as much of an undertaking as learning human languages. Just as in real-world translation, if your meaning isn’t understood by the other party (your computer), then your program will not respond well or at all. You can’t just say what you want your computer to do in plain English and get a response out the other end… or can you?

Enter Vibe Coding. You type your desired program, in plain English, into your LLM of choice, and it spits out a working application. This has been very disruptive for the coding industry. Why hire a team of developers when Claude works 24/7 and doesn’t need health insurance? Well, there are a few great reasons: LLMs, like Claude, are not truly artificial intelligence. They are like fake trees: they look real, might even do everything you’d want a tree to do, but it’s not real, no matter how real it appears on the outside.

Developers understand what software should do, which allows them to review computer instructions (programs) to ensure they behave as expected. Claude can do that, too, you might say. But Claude might tell you an app does one thing when it does another. These vibe-coded apps might not actually do what they promise or may do things they didn’t tell you about at all! Like storing your private information in unsafe places and practices. These nuances tend to be listed in the code in a way that only a real developer can identify.

I’m pretty tech-savvy, but have little knowledge of how “my” application works. It’s given me an appreciation for my fellow human programmers who are working hard to make our applications good and safe. Thankfully, the application I needed was very low stakes: I “designed” an app for game players to access their Draw Steel characters from their phones.

In case that sentence didn’t mean anything to you, that’s okay. It is a very nerdy problem in a Role-Playing Game. Players share one laptop, and it is easy to lose track of game resources, like health. So, after a few minutes of playing, inevitably someone is asking: “Wait, how much health do I have?”

I knew there had to be a way to get the information out of the tabletop software and onto the phones of my players, a dynamic representation of the data on the tabletop without needing to take the mouse. No one had made that application that I could find, so I asked Claude how hard it’d be to make one. I was a little shocked when the AI responded with a program and said, “Try this”. I was even more shocked when it worked.

Over the course of a few hours, I worked with the LLM and had a full-featured app of my dreams. I was expecting a very bare-bones representation. What I ended up with was a feature-rich UI (user interface) that was easy to use and… fun!

Now, I could never publish this for others. I don’t know how it works, so I can’t responsibly tell others what it will or won’t do, but for personal use? I’m finding myself very pleased to be a Vibe Coder.

Next
Next

Winter Riding Gear: Warmth and Comfort for the Commuter.