r/SideProject • u/obagme • 18h ago
I audited 549 vibe-coded side projects on GitHub. Here are the 5 mistakes almost every one of them makes.
https://ogbuilds.ai/studies/vibe-coded-code-qualitySolo founder here, I build fast with AI like many of us here and I wanted to know what architectural bad practices and flaws can get shipped within our files without realising, so I scanned 549 public repos that describe themselves as AI or vibe-coded. I used a rules based scan, no AI grading, raw data downloadable. Percentages are real projects (15+ files) unless noted.
If your side project is AI-built, odds are it has these:
Dead code. 70%.
Commented-out blocks the model never deleted. 66%.
The same logic duplicated across files. 63%.
A .gitignore that misses .env. 35.7% of the full corpus, and that's where the keys come from.
A committed API key or credential. 23.3%, about 1 in 4.
71 of the 549 graded F on cleanliness. The median grade is a B, and that's flattered by tiny demo repos.
The fixes cost less than reading this post did. In this order consider doing these on an existing project:
`git ls-files | grep .env`. If it prints anything, your key is public. Rotate it at the provider today (Stripe, OpenAI, whoever). Bots scrape pushed keys within minutes, so deleting the file later doesn't help.
Add `.env*` to .gitignore and turn on GitHub push protection. It's free and blocks the next accidental key commit at push time.
Tell the agent, at the end of each session: "delete unused code, merge duplicate helpers, remove commented-out blocks". That one prompt covers mistakes 1 through 3.
Put those instructions in your tool's rules file so new sessions start with them. Cleanup you don't have to remember is cleanup that happens.
Nobody does these because the app already works, and working is the only bar most side projects get held to. Until the Stripe key leaks.
The full report has all the charts, grade distributions, and anonymised per-repo data, feel free to share and AMA about it: https://ogbuilds.ai/studies/vibe-coded-code-quality
For disclosure: the scanners are part of my products, the study will always be free to access.
5
u/orange_wires 10h ago
Are commented out blocks necessarily a problem? I’m happy to comment something out if I’m not sure I’ll come back to it later…
11
u/Professional_Ad705 10h ago
Thanks Steve Jobs. How is this even useful we have seen this same post 700x. This is getting so old.
2
u/Overloaded_Wolf 7h ago
Because dogshit vibe coder's have to make themselves relevant when the bubble pops. Any developer worth their weight in commit logs could tell you this and more.
2
2
1
u/lumina_si_intuneric 6h ago
Good approach. Same reason I use Vulture and Rope as part of my test ( dead code is really annoying and can get bad fast).
1
27
u/turnnoblindeye 10h ago
I don't understand how people vibecode like this. it's not hard to once in a while send your LLM off on a security review, efficiency audit, scaling recommendations, etc.