This is the universal vibe coding experience and it's not a skill issue. The first 80% is patterns the model has seen 10,000 times. The last 20% is your specific edge cases, error states, browser quirks, and integration glue, things no model has seen exactly. Plan for it. Block out 3x your gut estimate for the polish phase. If you keep promising "one more hour", you're estimating against the 80% phase.
Prompt to paste
We're at the last 20% of [feature]. List every remaining edge case, error state, empty state, loading state, and integration seam that production needs but a happy-path demo skips. For each, say what breaks if it's missing and give the fix. Be exhaustive and assume nothing is handled yet.