I always leave the UI design until towards the end of a larger project. I know if I start with the UI I'll end up finding parts of the system that don't fit the layout, rejig this, tinker with that, rework that bit again... I get too focused on making the UI right when it could be wrong again with the next functional change. I may as well switch individual pixels around.
To solve that, I usually knock up a quick development UI at the beginning, do all the functional work, then look at how the UI/UX makes the functional stuff display and work easily for a user.
That's leaves me in a position where I've been coding and testing in a development UI for months... And then get Stockholm Syndrome





