Struggles with Vibe Coding (Part 1)
Disappearing Data
A couple months ago, I posted a 5 part series about the joys of vibe coding. Now, I’ll share some of the struggles and will share some of my learnings / mistakes.
Recently, many of my apps I’m actively using have broke in different ways. Here, I’ll discuss two of them. Given that I was the only user, it wasn’t a “big” deal but very frustrating and both revealed important limitations of vibe coding tools that aren’t obvious.
Issue #1: Auto “Fixes” Can Break Your App
While working on my Chinese-learning app, I got a warning about security issues. The UI made it feel straightforward, just click this button, let the tool fix it for you.
So, I did. That was a mistake. The “fix” altered parts of the app in ways I didn’t fully understand, and suddenly things that were working… weren’t. AND it had deleted all my data (~200 entries). I never got a clear explanation of what changed, what was removed, or how to undo it. … but thankfully I had my data stored elsewhere too.
What I learned
“Fix security issues” is not a harmless button, it can change app behavior.
Vibe coding tools optimize for making warnings go away, not preserving your intent.
You better understand (at least mostly) what’s being changed (difficult when it comes to security, databases, etc when you’re not technical)
Back up your data
Issue #2: My Workout App Lost 80 Images (And I Can’t Get Them Back)
This one hurt a lot more and the app is now basically useless. I had manually found and uploaded ~80 workout images for an app I built for my husband. The images were there. The app worked. For weeks.
Then suddenly… all the images were gone. After digging (and asking Bolt - and ChatGPT - multiple times), I only got semi-satisfactory answers and gave up
The image files still “exist” in the system, but they’re actually placeholder text files, not real images. Which is confusing since they were there for a few weeks.
The environment doesn’t persist files the way I assumed and the images were never truly stored in a durable way
And here’s the kicker: I had just deleted the original images from my computer an hour earlier. So now the app technically exists but it’s effectively dead, because I don’t have it in me to re-find and re-upload all those images again.
What I learned
Don’t assume uploaded assets are safely stored long-term.
“It’s working now” does not mean “it’s durable.” (This has happened to me in 3 apps now)
Binary assets (images, videos) are a special risk in vibe coding tools.
You may never get a clear, satisfying root-cause explanation.
The Bigger Lesson: Vibe coding is powerful, but fragile
These tools abstract away complexity and optimize for speed, not durability or security. That’s amazing when you’re prototyping but dangerous when you start caring about longevity.
Practical rules I’m adopting going forward
Backups are non-negotiable (code + assets)
Never click “auto-fix” blindly
Assume nothing is permanent unless you’ve tested persistence
Be diligent about keeping track of where things are stored
Expect occasional losses - don’t over-invest emotionally early
Build knowing some things may need to be rebuilt




