Who is this for?

You.

But more seriously - for intermediate developers.

The sort of folk that knows how to program, maybe has even made a website or two, but still has to follow tutorials and doesn't have a rock solid understanding of what goes into making a website.

A fuzzy group, I know, but there are a lot of things I am not going to explain. Such as how to write code in a particular language or how to open a terminal. I am open to adding more context for sure, but the structure I have in mind for this would serve as a poor CS 101 curriculum.

Keep that in mind as you go.

Let us begin.