flex jest jak najbardzie oki. Ale osobiście proponowałbym raczej najpierw myśleć o mobile, a potem o desktop... dzisiaj jednak mobilki to coraz większy ruch o coraz lepszej jakości.
Natomiast co do samego wyglądu to nie przejmuj się tym tak mocno jak chcesz być front-end developerem, od stworzenia grafiki jest UX designer, a nie programista. Ty masz to tylko zakodować, więc możesz po prostu brać sobie jakieś przykładowe layputy z netu i próbować się pobawić w ich zakodowanie.