Too much to chew
Yesterday it was pretty obvious that the long list of features was not going to happen.
Even with that knowledge it still didn't give me the usual satisfaction of finishing all the items in the issue list and closing it.
Material Design Lite experience
It's been a while since I last time chose to use MDL for my projects. Its great feature is that it does not need any kind of UI framework or fancy JS library to work, just plain HTML and CSS (plus some JS) are all you need to make it work.
You can change the behavior of components using the classes, for example if you are implementing a header for your page, adding
mdl-layout--fixed-header instead of
mdl-layout Make sure the header stays visible for all screen sizes, otherwise it will disappear when the window is not large enough.
Another configuration class is
mdl-layout--large-screen-only which you can add to any element inside the layout to hide if the screen is not large.
Very elegant in my opinion, easy to understand and implement, makes me wish MDL wasn't discontinued.
The pug experience
Almost all pages are implemented and I should say I'm very impressed with what pug has to offer, the syntax makes a lot of boilerplate go away and is easily mixable with HTML.
Overall if you're not looking for a single-page app, pug is a great solution and integrates with Express very well.
Material Design Lite grid system is very easy to use and intuitive. It also supports responsiveness which fits my usage very well.
I'm very happy with Express + pugjs + MDL, it will be one of my go-to stacks.
Currently the stats page does not update itself whenever there is a visit, this could be implemented either using WebSocket or fetch from the API, tomorrow I'll investigate and share my thoughts on the pros and cons. (Spoiler alert: I didn't)