Beautiful design that doesn't work is expensive wallpaper. UX is about the order and the logic.

The question of whether someone can do what they came to do. Which steps are there, in what order, and what happens when things go wrong. It is largely invisible work that only gets noticed when it is missing.
Every extra field costs you people filling it in. Ask only for what you need now and leave the rest until after sign-up. Show errors at the field itself rather than at the top, and show what still needs to be done.
Having five people try it yields more than an hour of discussion about what users might want. A clickable prototype takes a day and prevents choices that only turn out to chafe after the build — see prototyping.
A question or project on this topic?