Finished-and-ugly beats half-done-and-pretty. The hardest skill in vibe coding is recognising when v1 is done, and putting the rest on the v2 list.