The fact that you toiled at that design for a weekend is part of why your designer friend could turn something around so quickly.
When your designer knows the basics of how programming works, and when your programmer has a grasp of the tenets of design, neither person has to operate as if the other is some sort of stupid magician. It's so refreshing.