So to clarify it can imagine its way through writing massive gnarly page-long regexps or imagine how a complex API works and what will happen if it makes a given call or imagine just by reading disassembled code precisely how a binary works, but it will never be able to imagine how a human might feel about a user experience?
I have an experiment to offer. Find a really, really great example of something poorly-designed, too busy or whatever other metric you want to use as your "poorly-designed" thing, then ask Claude what's wrong with it and how it should be improved?