A new worst coder has entered the chat: vibe coding without code knowledge
In the age of AI, being able to make applications and create code has never been easier. But is it any good? Here's what vibe coding is like for someone without technical skills.
January 2, 2026
A new worst coder has entered the chat: vibe coding without code knowledge
In the age of AI, being able to make applications and create code has never been easier. But is it any good? Here's what vibe coding is like for someone without technical skills.
*[Ed. note: While we take some time to rest up over the holidays and prepare for next year, we are re-publishing our top ten posts for the year. Please enjoy our favorite work this year and we’ll see you in 2026.]*
If I asked you to guess the job title of someone coding an app for work, your first guess probably wouldn’t be “writer”. It probably wouldn’t be your second or fifth guess either.
The fact I wouldn’t be the first person you think of doesn’t offend me. None of my resumes have ever listed coding expertise as a skill. Most of what I know I picked up through work, which necessitates an understanding of technical language and an interest in programming trends. A little of what I know is osmosis from living in the Bay Area, where tech conversations are unavoidable for anyone with a social life.
But life is full of little surprises, and one of those is that I did in fact create an app for work. I’ll add an unsurprising caveat: I didn’t actually code it—instead it was created completely through vibes, doing what a lot of code curious folks are doing with vibe coding apps like Bolt.
Is vibe coding as powerful as it seems?
“Vibe coding” as a concept only emerged in early 2025, but it’s already one of the most talked-about usages of large language models. It’s sparked a lot of debate on its effectiveness as a tool for coding and a lot of anxiety over how it will change the tech landscape, especially for junior developers. Even for experienced developers, it holds the existential threat of imposter syndrome, and past that complete replacement.
The promise that vibe coding will give anyone, even those with a nontechnical background, the power to create their own usable applications is also debatable. I can say that from my own experience. It felt like hitting one of those “That was easy!” buttons from Staples. But it was too easy, and immediately upon handing the output over to someone with more technical expertise than me, the holes began to show. While it may be a powerful tool in the hands of someone who knows what they’re doing, in my hands it was like one of those AI filters that makes you look like a Studio Ghibli character: fun to post, but not actually substantive.
Creating the “Do Not Go In There” app
I created my “app” as part of Bolt’s Hackathon. In collaboration with Reddit, the contest prompt was to create something silly that was irreverent and overall useless. I often have useless ideas, so it was perfect for me. “It’s like Yelp but for bathrooms. And it’s for the worst bathrooms in the world,” I told my mom. “Uh, what do you do for work again?” she replied.
The process for getting started was fairly easy. Or, it should have been fairly easy. For someone who doesn’t know where the terminal is on her computer, it was not. Devpost, the hosts of the contest, touted that it would take me less than one minute to start building my application with Bolt. They had provided several resources for me to look through, including links to Reddit’s Developer Quickstart. I ended up sinking a lot of time into that particular resource because I didn’t know what I was doing. I’ll take this time to formally apologize to the Help Desk at Stack Overflow for trying to download node.js onto my work laptop even though I definitely didn’t need it.
When I figured out that Bolt could do everything I needed, it became much easier. That is a true statement, by the way. Bolt can create a simple app end-to-end almost seamlessly, as long as the person doing it has a rudimentary knowledge of code or clear instructions on what to run. I fell into the second category; I didn’t have a clue about what commands I would need to make the program work until I read one of the Devpost resources. Whether the app would be any good was what I would find out.
Bolt’s interface is sleek and intuitive, with a live preview of your creation on the side. It also allows you to look through your codebase and manually update lines as needed. For my purposes, I used the natural language prompt box, which came with some tips for efficient prompt engineering. I used none of them. My prompt was simply, “Create an app for Reddit that’s like Yelp but for bad bathrooms.” (Come on, it’s a joke app for bathrooms; I don’t have to be an eloquent prompt engineer.)
My friendly vibe coding AI immediately started working, creating folders to dump code into. All in all, it took about ten minutes to create the foundation of what I had asked for. The app was launchable on my tester subreddit, including a slightly silly UI that used a toilet emoji. It had a place to leave reviews, a rating scale, and a page that would populate with reviews as people wrote them.
All of these things were automatically created in a lovely little UI I could click around in on my tester Subreddit. It also didn’t work at all.
Almost immediately, error messages popped up in both my Bolt interface and the app itself. No matter how much I tried, I couldn’t upload a bathroom review. I got several error messages in scary red text telling me that location services weren’t available and that I wouldn’t be able to upload a review. Although it had hardly been any work on my end, I did feel the sting of defeat. So I told my Bolt AI, “The app doesn’t work.”
What came was about 45 minutes of troubleshooting, where the AI told me exactly where to find error messages. I didn’t have to understand any of them myself; I just had to paste them into the dialogue box verbatim, unformatted, and Bolt would deal with the issue. And while Bolt did provide me with information on what it had fixed, it wasn’t useful to me as a non-coder, who didn’t know what it meant when API endpoints were not being served at the root level. I’m sure if I had any understanding of what exactly was happening inside my app, I could ask it to dig deeper, but the whole point of this experiment was that I didn’t.
My lack of understanding went beyond the codebase and to some of the basics of testing and working with my app. For instance, I didn’t realize the npm run dev command would update the existing tester app in my tester subreddit. I thought I had to relaunch and repost the app every time edits were made to test a new “version” of the app. In my head, each version of the app was its own respective entity, as opposed to an evolving application that would update itself. Because of this, my tester subreddit had 20 posts on it by the time I had an actual working toilet app.
But Bolt was a powerful helper. I cannot overstate how lost I was in the process of creating this application and how easy Bolt made it for me to make something. It even helped me make simple changes to the interface, allowing me to play with the design in a way that was more comfortable for me as someone with a graphic design background.
[...]