AI Built Me an App, and Got It Wrong Dozens of Times
林政賢 ·
Let's start with the result.
I built a party game app called PurpsyNightX, and it's live on the App Store. A group of friends gather together, each connects to the same private room from their own phone, and they take turns drawing cards, answering questions, and rating each other.
Inside it there are over 1,400 prompt cards, 39 limited-edition ending cards, 22 screens, and support for up to ten people connected at once. This kind of scale used to require a small team.
The coding part was almost entirely done by AI.
Sounds impressive. But if I stopped there, this article would be a lie.
It got things wrong dozens of times
Just in the most recent round alone, all of the following actually happened — and every single one only got fixed because someone pointed it out:
It thought it had centered the element, but the animation was overriding the centering.
The whole strip covered half the screen.
Solving one problem spawned another, directly.
It took two rounds of fixes before it was actually fixed.
And it was caused by an effect it had added on its own the day before.
Players ended up choosing an answer to a question they couldn't even see.
This happened more than once.
It assumed it was a character-limit issue, and after "fixing" that it still didn't work — the real cause turned out to be something else entirely.
And that's just what I can remember. Across the whole project, we're talking dozens of these — no way around it.
And every single time, it was because someone picked up their phone, actually used the thing, and said "this is wrong" — only then did it know to go check.
What the person saying "that's wrong" is actually doing
Let me tell you about something that really happened last week, because it illustrates the whole thing better than anything else.
A player told me: "Everything in the room feels slow, the buttons don't respond when I tap them."
I passed that sentence straight to the AI. It measured the network and found that data really was traveling most of the way around the globe, taking half a second round trip. It optimized things, cutting down the number of hops. Sounded reasonable, and the measurements were real.
Then I picked up my own phone and tried playing it myself.
Me: Still slow.
Just those two words. But those two words overturned the entire direction — because they forced out this sentence:
A slow network wouldn't make a button fail to respond at all when tapped.
Stop and think about that for a second. There's no technical knowledge in that sentence at all.
It simply separated two things that had been lumped together: "I tap it and have to wait a bit for a result" versus "I tap it and the screen doesn't move at all" — these are two different kinds of "hard to use." The first round of fixes addressed the first kind, but what the player was describing was the second.
Once we measured something different, the real cause surfaced:
In ten seconds where absolutely nothing was happening on screen — no one touching anything — the app had secretly redrawn the entire screen 78 times. That's roughly eight redraws per second while sitting idle — no wonder the phone couldn't keep up with actually responding to you.
The cause was a piece of code checking every second whether a chat bubble "should disappear now," and it kept checking regardless of whether any bubble was even on screen. The bubble only needed checking during the six seconds it was actually visible — the rest of the time, it was all wasted effort.
After the fix, that same ten-second window dropped to 0 times. Idle actually meant idle.
This has a name — it's called debugging
And I'm guessing you think that's far removed from you.
But look back at that story again — all I actually did was three things: actually use the thing, notice it didn't match what I expected, and separate two different kinds of "hard to use" into distinct descriptions.
Not one of those requires knowing how to code.
You're not missing this skill — no one ever told you it had a name.
You should recognize yourself in at least one of the following three
Having to fill in the same info three times at checkout, "cancel subscription" buried five menus deep, that one wrong-tap zone that's always in the exact same spot — you don't just find it annoying, you can point to exactly where it's annoying. That's user experience judgment, and it's the hardest kind to teach.
So you asked one more question, and it turned out that wasn't actually it. That instinct to not accept the first reasonable-sounding answer is the single most important skill in this whole article — AI's first explanation will always sound reasonable.
"It's broken" is useless; "I tapped here, that popped up, but I expected it to go back to the previous page" is useful. That's the skill of translating a feeling into a fact — engineers call it "reproduction steps," you might just call it "explaining yourself clearly."
Why AI especially needs this
Because it never actually uses your product.
It can read every line of code, but it doesn't have that feeling of "this is annoying to use." It doesn't operate a phone one-handed on the subway, doesn't fumble while a friend is rushing it, and doesn't struggle to read small text over noisy background clutter.
It also doesn't get tired, doesn't get impatient, and doesn't want to give up after the fifth revision — that's its greatest strength, but flip it around and it's also true that it never frowns.
There's an even trickier issue: ask it "why did you do it this way," and it will almost always give you a perfectly professional-sounding answer, even when the real reason is simply "that's just how the previous step happened to be written." It's not lying to you — it genuinely believes it's done. It's like hitting save on a document, only to realize you had a different window open.
So it needs someone who will pause and say, "wait, that's not right." And that person doesn't need to know how to code — what they need is a willingness to actually spend the time using it, and the courage to speak up.
So what's the most valuable thing right now?
Based on my experience these past few weeks, it comes down to two kinds of people.
The first is people who can debug. Not people who can fix code — people who can tell "something's off here" and pinpoint exactly what. This ability can only be built one way: actually using your own product, using it enough that you start to find fault with it.
The second is people who think with fine-grained logic. Not people who are good at math — people who can separate things that have gotten tangled together: slow is not the same as unresponsive, not logged in is not the same as login failed, a user who can't use something is not the same as a user who doesn't want to.
Pair these two abilities with AI, and you get that "one person doing the work of an entire team" outcome. Without them, AI will very efficiently finish tasks that shouldn't have been done in the first place — and hand you a whole trail of very convincing reasons why along the way.
AI made "doing" cheap. Which made "judgment" expensive.
If you've always believed you "don't understand tech, so there's nothing I can contribute" — my suggestion is to start with the app that annoys you the most in your everyday life. Write down exactly what annoys you about it, in three sentences.
You'll find you're perfectly capable of writing it.
That's your starting point.
TECHNICAL EDITION
Want to know how it was actually built?
There's a full technical write-up for engineers that covers everything this article deliberately left out:
- The full architecture and toolchain, and why we chose it
- Four Cloudflare traps nobody warns you about, each with root cause and fix
- How that "fixed the lag, got flickering instead" issue was actually solved (with code)
- The measurement methodology behind every number in this article
NEW POST
Two AI lamps — which one should you rub?
Claude Fable 5.1 and GPT-6 Astra launched two days apart at the same price. Not a benchmark shootout — one question only: if you want to start vibe coding, who should you pay?
Author:林政賢(Director · Gen AI creator & engineer · Founder of TangYi Studio)