Web application coding projects are about as complex as anything a student has ever encountered in their entire lives. There are so many moving parts: the variables, the functions, and the debugging of the code are already challenging, without introducing the way web pages, cascading style sheets and JavaScript programs interact (or don't, and having to figure out why).
Debugging is excruciatingly difficult, because unlike straight JavaScript programs it is much harder to figure out why something did not happen. There is often no simple "Console Log" error message. Students need to run through how the application is supposed to work in their minds, putting in various flags to figure out at what points things break, and then come up with theories about why it said "undefined" instead of "2".
Having worked out all the complexity, students then attend to craftsmanship, learning their brand-new web design skills (deciding what elements to put where, and how to style them with fonts, colors, and images). A "natural" coder who is facile with logic and structure may be quite awkward at design at first, just imagining what they want to see before they struggle with the realization of their designs.
I am very proud of my Web Coding students, and hope a good percentage will go on to take the AP Computer Science exam next year. Almost 90% produced working web applications, and of these, 50% were high enough quality to merit being showcased below.