Just as an (extrem) example have a look here how people customizing mainui to get a different look and feel.
As already mentioned building custom widgets and creating custom code is optional.
You can build pages within mainui via GUI without any technical skills, but if you want to customize the look and feel than it’s more about creating your own widgets.