in reply to
When building web apps, I:
To be serious( and I am just an amateur web programmer, who, always builds from scratch), the first thing I do is decide whether I can use frames, or whether to use a tables layout( it seems tables are favored nowadays).
Next I decide whether it's worth setting up templates for outputting html, or to just generate the complete html dynamically each hit.
If I was a better web programmer, I probably would first decide if I could/should be using mod_perl, instead of direct cgi.