繁中 →
visitors so far

Failure list

The traps a vibe coder fell into. I have far more dead projects than live ones

← Back to home

This page is the list of traps I actually fell into while building products with AI. Plenty of people write up their wins. Very few write up the failures. But failure is the part you can actually steer around.

I have far more dead projects than live ones. Every one of them moved me a step closer.

Traps I actually fell into

FAIL #01

I told the AI to "tidy things up a bit"

Crispy Kingdom (脆脆王國), my first game, had several hundred players' data in it. I casually told the AI to "tidy things up a bit". Every player record was deleted, with no backup. I did this three separate times.

Lesson: A vague instruction to an AI is permission to do things you never considered. Back up first, ask it to list the plan, confirm the plan, then let it run.
FAIL #02

Trying to build every feature at once

Early on I wanted login, search, reviews, a chat room, payments, notifications, and on it went. So it never shipped.

Lesson: An MVP is the path. Ship the one core feature first, confirm somebody wants it, then add. The long version is in EP.1.
FAIL #03

Chasing perfect and never shipping

"One more tweak." "That button colour is wrong." "I don't like this layout." Three months of tweaks, and the thing was still on my laptop, seen by nobody.

Lesson: Shipping at 80% beats 100% perfect and never shipped, by a factor of about ten thousand. User feedback is more accurate than your own guesses.
FAIL #04

Letting the AI write code before discussing the architecture

Early on I would open Claude and say "build me a website", and it really did build one. It just had nothing to do with what I pictured, or I had no idea what it was doing underneath, so when it broke I had no idea where to start asking.

Lesson: Spend 30 minutes with the AI before any code: what you are building, who it is for, the core features, how data gets stored. The long version is in EP.2.
This page keeps growing. Leo, when a new trap comes to mind, add a `<div class="failure">` block yourself, the schema stays as it is.

Why I write the failures down

Because this industry has too many success stories and too few failure stories. When I was learning, my worst fear was never "I don't know how to do this". It was "I don't know which things I must not do". I hope this page saves you three months.

Fell into something similar and want to trade stories? Come find me at @kanisleo328 .