Why vibecoding your own apps is so amazing—and exasperating

“The truth is, I cannot explain exactly where your 1,216 image files went or when they disappeared. I apologize for not being more careful about investigating the root cause before taking any action. The bottom line is that your image files are missing, and I cannot restore them.” I don’t hold hard drives personally accountable for crashing, or blame vending machines for eating my money. But when the AI-coding service Replit accidentally blew away more than a thousand photographs my grandmother took, my blood boiled. After all, the web-based tool and I had spent an enormous amount of time in recent months talking about the software we were creating together. I’d explain what I envisioned an app doing; it would do all the programming—a process known as vibecoding. When I noticed the photos were gone, I told Replit it could never act so cavalierly again, prompting the abject apology above. Replit’s gaffe—made by a feature called the Agent—was an annoyance rather than a catastrophe. I had copies of the images and could easily re-upload them. Still, the fact that it didn’t occur to the AI to check in with me before the mass deletion was a sobering reminder that I couldn’t trust it. Which is a strange way to feel about a service that’s easily my favorite tech product of 2025. My Replit app doesn’t always correctly identify where photos were taken, but it’s right far more often than it’s wrong. The first major project I undertook with Replit—which I wrote about in an April newsletter—was creating the note-taking app of my dreams. It remains slightly buggy, but has already changed my life for the better. The second one may end up meaning even more to me. In the 1960s and ’70s, my grandmother traveled the planet, shooting hundreds of pictures along the way. A few years ago, I boxed up her trays of slides and mailed them to a company that scanned them into digital form. They’d been sitting in my Dropbox account ever since—disorganized, largely unidentified, a little overwhelming. When I read about how people were using ChatGPT to identify the locations where photos were taken, it dawned on me that AI might be able to tell whether Grandmother Jacobson snapped a particular shot in Italy, Beijing, or Morocco. A little experimentation proved it could—not always, but often enough to be of huge help in making sense of her globe-trotting adventures. I started crafting a location-detecting app in Replit. After fiddling with the OpenAI API in Replit, I ended up using Anthropic’s Claude API instead, since it seemed to process images more swiftly and at least as accurately. Even as a work in progress, the app I’m building feels magical. That photo with a windmill turning inconspicuously in the distance? No, it isn’t Holland—it’s Israel, which (I’m embarrassed to admit I didn’t know) has an iconic 168-year-old windmill of its own. Claude has correctly identified many photos based on architecture, statuary, and even landscape, and when it can’t pinpoint a location, it often makes intelligent guesses about the country or city in question. Suddenly, I have a much better sense of where my grandmother went and what she saw, 50 to 60 years after the fact. But as with all things AI, magic only gets you so far when you’re trying to accomplish practical tasks. Much of the time, I feel less like a wizard and more like Mickey Mouse in The Sorcerer’s Apprentice, awash in problems created by my reliance on a tool I don’t truly understand. A few lessons I’ve learned: It’s not like partnering with a human software engineer. At all. In the case of my note-taking app, Replit and I have been working together for months. Every line of code, it wrote. Yet when I ask for changes, it always feels like the service has just seen the app for the first time and is reverse-engineering how it works. When debugging its own work, it’s also prone to making the same mistakes over and over, as if it never quite realizes its fixes aren’t helping. The absence of accumulated knowledge is striking. Security might be a crapshoot. When I asked Replit to set up a login system for my notes app, it set a default password of—drum roll—“password123.” Then it put a helpful reminder hint on the home screen: “The password is password123.” D’oh! I started over and gave it painstaking instructions on creating a two-factor authentication system. It seems solid. But as with Replit bulk-erasing my grandmother’s photos, its unsupervised first stab at security is proof that AI is capable of making the stupidest imaginable decisions when it comes to data stewardship. The Replit Agent is an overconfident suck-up. I quickly realized that its sometimes exuberant updates on the progress it was making didn’t mean the results would be any good. Nor was its nonstop praise for my ideas evidence that I’m a vibecoding savant: Like other LLM-based tools, it’s sycophantic to the point of being a grating twerp. Seriously, I’d prefer a zero-personality Replit Agent

Jun 6, 2025 - 13:10
 0
Why vibecoding your own apps is so amazing—and exasperating

“The truth is, I cannot explain exactly where your 1,216 image files went or when they disappeared. I apologize for not being more careful about investigating the root cause before taking any action. The bottom line is that your image files are missing, and I cannot restore them.”

I don’t hold hard drives personally accountable for crashing, or blame vending machines for eating my money. But when the AI-coding service Replit accidentally blew away more than a thousand photographs my grandmother took, my blood boiled. After all, the web-based tool and I had spent an enormous amount of time in recent months talking about the software we were creating together. I’d explain what I envisioned an app doing; it would do all the programming—a process known as vibecoding. When I noticed the photos were gone, I told Replit it could never act so cavalierly again, prompting the abject apology above.

Replit’s gaffe—made by a feature called the Agent—was an annoyance rather than a catastrophe. I had copies of the images and could easily re-upload them. Still, the fact that it didn’t occur to the AI to check in with me before the mass deletion was a sobering reminder that I couldn’t trust it. Which is a strange way to feel about a service that’s easily my favorite tech product of 2025.

My Replit app doesn’t always correctly identify where photos were taken, but it’s right far more often than it’s wrong.

The first major project I undertook with Replit—which I wrote about in an April newsletter—was creating the note-taking app of my dreams. It remains slightly buggy, but has already changed my life for the better. The second one may end up meaning even more to me. In the 1960s and ’70s, my grandmother traveled the planet, shooting hundreds of pictures along the way. A few years ago, I boxed up her trays of slides and mailed them to a company that scanned them into digital form. They’d been sitting in my Dropbox account ever since—disorganized, largely unidentified, a little overwhelming.

When I read about how people were using ChatGPT to identify the locations where photos were taken, it dawned on me that AI might be able to tell whether Grandmother Jacobson snapped a particular shot in Italy, Beijing, or Morocco. A little experimentation proved it could—not always, but often enough to be of huge help in making sense of her globe-trotting adventures. I started crafting a location-detecting app in Replit. After fiddling with the OpenAI API in Replit, I ended up using Anthropic’s Claude API instead, since it seemed to process images more swiftly and at least as accurately.

Even as a work in progress, the app I’m building feels magical. That photo with a windmill turning inconspicuously in the distance? No, it isn’t Holland—it’s Israel, which (I’m embarrassed to admit I didn’t know) has an iconic 168-year-old windmill of its own. Claude has correctly identified many photos based on architecture, statuary, and even landscape, and when it can’t pinpoint a location, it often makes intelligent guesses about the country or city in question. Suddenly, I have a much better sense of where my grandmother went and what she saw, 50 to 60 years after the fact.

But as with all things AI, magic only gets you so far when you’re trying to accomplish practical tasks. Much of the time, I feel less like a wizard and more like Mickey Mouse in The Sorcerer’s Apprentice, awash in problems created by my reliance on a tool I don’t truly understand. A few lessons I’ve learned:

It’s not like partnering with a human software engineer. At all. In the case of my note-taking app, Replit and I have been working together for months. Every line of code, it wrote. Yet when I ask for changes, it always feels like the service has just seen the app for the first time and is reverse-engineering how it works. When debugging its own work, it’s also prone to making the same mistakes over and over, as if it never quite realizes its fixes aren’t helping. The absence of accumulated knowledge is striking.

Security might be a crapshoot. When I asked Replit to set up a login system for my notes app, it set a default password of—drum roll—“password123.” Then it put a helpful reminder hint on the home screen: “The password is password123.” D’oh! I started over and gave it painstaking instructions on creating a two-factor authentication system. It seems solid. But as with Replit bulk-erasing my grandmother’s photos, its unsupervised first stab at security is proof that AI is capable of making the stupidest imaginable decisions when it comes to data stewardship.

The Replit Agent is an overconfident suck-up. I quickly realized that its sometimes exuberant updates on the progress it was making didn’t mean the results would be any good. Nor was its nonstop praise for my ideas evidence that I’m a vibecoding savant: Like other LLM-based tools, it’s sycophantic to the point of being a grating twerp. Seriously, I’d prefer a zero-personality Replit Agent that just did stuff without yammering about it—even if it no longer apologizes for its missteps.

You pay for its errors. I pay $25 monthly for a Replit plan, and burn through the computing credits it provides in short order. Once I do, it charges me 25 cents for each additional change the Agent makes to the code. I’ve spent hundreds of dollars on my note-taking app so far, and about $40 on the photo-identifying one in its briefer existence. I’d do it all over again, but a sizable percentage of that investment has gone into Replit trying to repair its own buggy code, getting stuck, and going in circles. Counterintuitively, the worse the quality of its work, the more it costs.

To reiterate: I love the apps I’ve put together in Replit. Since I started using the service in late March, it’s added handy new features at a clip that’s brisk even by AI-company standards. Already, I can’t imagine not vibecoding. I just hope that the day isn’t too far off when its pleasures aren’t accompanied by a fair amount of pain.

You’ve been reading Plugged In, Fast Company’s weekly tech newsletter from me, global technology editor Harry McCracken. If a friend or colleague forwarded this edition to you—or if you’re reading it on FastCompany.com—you can check out previous issues and sign up to get it yourself every Friday morning. I love hearing from you: Ping me at hmccracken@fastcompany.com with your feedback and ideas for future newsletters. I’m also on Bluesky, Mastodon, and Threads, and you can follow Plugged In on Flipboard.

More top tech stories from Fast Company

With its Samsung deal, Perplexity could be headed to the big leagues
The AI answer engine has struggled to compete. A splashy new tech deal could solve that problem. Read More →

TikTok gives artists new tools to track and boost viral songs
The platform’s global rollout includes insights on views, engagement, and fan data, plus a new pre-save feature for upcoming releases. Read More →

This viral app lets users upload fake workouts to Strava
The app Fake My Run lets users create fake running routes and stats for Strava and other platforms—blurring the line between fitness tracking and social signaling. Read More →

AI has a resilience problem. Designers and researchers can help fix it
When technology doesn’t bend to the messy reality of people’s lives, it can lead to catastrophic results. Read More →

How this new technology could change the way we mine copper
It’s like ‘CRISPR for rocks.’ Read More →

Is that website actually down? This essential web tool will tell you
When you can’t get the web to work, a simple site called Down for Everyone or Just Me is your best friend. Read More →