The Temptation of Vibe Coding

By this point I’ve written too much about my conflicted attitude toward generative AI. The TL;DR of it is that, in theory, “enhancement vs. replacement” is a way to determine whether a given use of generative AI is ethical or not:

Asking Claude to write an Emacs function for me saves me a bit of time; asking it to write a research paper for me replaces work I, not the machine, should do, and more than likely perpetrates deception.

So—at least in a vacuum, where we pretend we’re not concerned about the ethics of the madmen and fraudsters who run AI companies, or the way the training corpora of all major models were developed through rampant intellectual property theft—I’m not bothered by using either commercial code written with AI assistance, which is something I consider separate from “vibe coding”. Xcode’s context aware auto-complete, in which I’ve seen it correctly guess the next four cases in a switch statement based on filling out the first one, is a sound example of that (and pretty dazzling a mere two years ago). Asking Claude to draft a well-specified, commented chunk of code that the programmer can fully understand, vet, and edit doesn’t intrinsically bother me, assuming the understanding is that the (human) programmer is fully accountable for anything that gets into the codebase—that they can understand it, explain it, debug it, optimize it, improve it, and fix it all on their own. Same with asking Claude or Codex to analyze a codebase looking for errors, or even asking it to fix a specific error: if you understand the fix, you’re probably safe. I am dubious that asking even the best coding agent to write tests for you is wise, because it’s too easy for it to do precisely what humans often do: write tests that validate functions against what they’re outputting right now, rather than what they should be outputting.

As for actual vibe coding, where you have the LLM-driven coding agent write the whole damn application for you and make changes based on your direction—well, if that code is only for you, and only your data is at risk, you do you. (Remember, we’re still in the imaginary space of ethically-sourced AI for this thought exercise.) The problem with vibe coding is when it’s touching other people’s data, and you, the “programmer” in air quotes, don’t truly know what your creation is doing under the hood. There are thousands of indie apps sprouting up right now that are engineering equivalents of AI-generated spam marketing emails. Some of these are probably innocuous, like the flock of Markdown editors and previewers that I found the other day when I was looking for something else I’ll get to in a moment, but some of them work with your real live data. And while AI may be helping track down long-standing bugs in old software, I can’t help but wonder if it’s introducing new ones—and when an app that I otherwise appreciate, such as the Current RSS reader, exhibits weird behavior I can’t help but wonder if it’s because some of what’s under the hood is poorly understood LLM-generated code. (New unread items would pop into existence on my chronologically-arranged timeline between items I’d already scrolled past, and more than once a feed that I knew had brand-new items—not ones that could have “aged out” in Current’s metaphor—showed as having nothing new.)

Now, the bar for a new paid Markdown editor or previewer for iOS or macOS in 2026 is so damn high at this point I do not know why people are trying. But, nerd that I am, I want to see one (or more) of these editors also support basic Org mode markup. This is not, on its surface, a hard lift: it’s mostly a matter of looking for different bracketing characters. Instead of _italic_ it’s /italic/. Instead of **bold** it’s *bold*. And so on. This is not something that requires a giant engineering effort in a program that can already highlight Markdown—but the “market” is obviously extremely small. (There’s dozens of us! Dozens!)

So I won’t lie: I’ve been tempted to try and vibe code this. Just for me. See, I kinda know Swift and SwiftUI, but not nearly enough, and I’m not sure SwiftUI is capable of pulling this off. That means delving into AppKit, about which I know absolutely bupkis. This is something Claude Code could do, doesn’t it? I don’t need iA Writer or Ulysses but for Org mode, with sophisticated export tools. I just need the editor part. And this fits my “the only data at risk is mine” criteria.

But, well, three things.

First (and least), I don’t know how much this would cost. I’d have to pay something for it, and based on what people are saying about developing full-blown apps this way, I might have to pay a lot. I might want this $20 much, but I don’t want it $200 much.

Second, well, that takes me out of the imaginary space of ethically-sourced AI, doesn’t it. Paying a subscription fee to Anthropic or OpenAI crosses a line I’m increasingly reticent to go over. I understand there are skilled developers—better than I ever was—who either aren’t as concerned about that, or do think that it’s a problem but find it a trade-off they can live with for now. But I’ve found that when I sit down and work through the ethical pros and cons in my mind, I consistently get less comfortable with giving these companies money, not more.

Third? I do want to understand the code. If I ever tried to do this, I’d want to get it in good enough shape to get it into the App Store, at a modest price that would still have some chance of recouping the $99/year developer fee. And that means I’d better know what the hell I’m subjecting other people to.

Beyond that, though, I think I’d lose something meaningful, something vital, if I couldn’t understand the code—to be able to read it line by line and know what each API call does, why certain choices are better than others, how it all comes together. I don’t think every computer user has to be a programmer, not by a long shot. But I think if you are going to be a programmer, it behooves you to actually be a programmer. Even if Claude Code drafted every single line of a given app that you’re publishing, you need to be able to understand what every single line does.

Some say programming will become more like directing, like managing, and that what I’m saying will sound old-fashioned and Luddite if it doesn’t already. Perhaps. But anyone who’s had to suffer with a software engineering manager who couldn’t engineer software on at least a basic level can tell you they’re bad managers. You’re going to get people like the “software architect” I worked with who urged programmers to make their code more “flamboyant.” Give people like that an LLM and a complicated app to generate, and you’re going to get a train wreck.

Honestly, though, I’m not sure that’ll ever fully happen. The people most confident in that seem to base it on anecdotes and personal subjective experience—when researchers try to measure it objectively, they find it’s often a wash. My personal suspicion is that this is the new keyboard/mouse debate: when it’s objectively measured, using a mouse for many UI tasks is as fast or faster than using a keyboard. Studies also show, of course, that subjectively every keyboard jockey reports they’re faster sticking to the keyboard, and you’ll never convince them that’s not universally true. Likewise, someone who feels so much more productive using Claude, man, will not be dissuaded by anything as trivial as a stack of peer-reviewed studies.

So, no, there’s no vibe-coded Org-highlighting editor in my future. Perhaps someone writing one of those Markdown editors will read this and add a mode—maybe by using Claude!—that uses Org markup highlighting if given a .org file, but I’m not holding my breath. I have another gadget on the way that may fulfill the role of “distraction-free writing kit” better than an iPad does, although I’m not sure that what I need in practice isn’t simply more willpower. It’s not uncommon for me to have multiple windows and files open when I’m writing—notes and research, most often—to the point where using the iPad alone can be a bit of a straitjacket. That’s another article, though.

◂ Back to Articles


To support my writing, throw me a tip on Ko-fi.com!