The fix for my AI slop wasn't a better prompt. It was making Claude and Codex argue with each other
For three months I thought I was building an app. I was really just cranking out slop and calling it progress.
The fix turned out to be boring, which is probably why I dodged it so long.
It started great, that's the trap. I vibe-coded a working demo with Codex in a weekend. Screens showed up, buttons worked, felt like cheating. So I kept going: describe a feature, watch it appear, move on.
Around week three it started breaking and didn't stop. I'd add one thing and something I hadn't touched would fall over. A buddy tried my onboarding on his phone and got stuck on screen two the keyboard sat right on top of the Continue button. Nobody could get past it.
The real problem under all of it: the model could read my files, but it had no record of the decisions behind them. It saw the code without knowing why it was built that way, so every new feature was a fresh chance to contradict something I'd set up three weeks earlier. I was stacking crooked, and eventually the pile tipped over.
Prompting as you go doesn't scale. A great prompt only knows about that one request, t can't hold your whole architecture, so it can't tell that the thing it's writing breaks last month's decision.
So I wrote the spec first. And the part that actually moved the needle: I made two models argue. Same problem to Claude and Codex separately, then I handed each the other's spec and told it to rip it apart, what's missing, what breaks in month two. Where they agreed, I had a strong starting point. Where they didn't, I made the call myself and wrote it into the spec and the tests.
The difference was night and day. Tests passed on the first run. The black screens stopped. A feature that used to be a three-day build-break-patch slog went in over an afternoon and worked first try. Call it a 90% cut in build time, no benchmark, just what I watched happen over and over.
That's how I built GymAdapt AI, a workout app that adjusts your training to how your sessions actually go. It's on the App Store as of Friday if you want to see whether any of this produced something real. Still rough in spots, happy to get into the two-model process, or where it still bit me, because it definitely did.