Schema design and UI design should both be done at the beginning and designed _concurrently_. UI requirements can inform schema design. But there's always going to be an impedance mismatch between the two: schema design optimizes for performant storage and retrieval of data - it's data that has been optimized for machines. UI design optimizes a users ability to conceptualize and use data - it's data that has been optimized for people. Code is the glue that helps mediate between these domains.