Here's my new project: an open canvas, right in front of me. In a few days, I will start to code a big web application. It will start small, with few modules, only myself as developer and engineer, but hopefully it will grow and grow.
Even though I am an active Java Developer, It's been a while since I last created a Web Application from scratch. At the time, Struts and J2EE was the way to go, but I see a lot of new frameworks, new libraries raising everyday.
What I ask here is for your advice: what do you currently use for web development, why do you think it's relevant and if you would choose the same tools if you were starting on a new project. Everything counts: from tips on the UI to the backend. Common gotchas, patterns, everything you can think may be relevant.
I am a Java developer and, I am naturally inclined to do everything using Java-related technologies (J2SE, J2EE, Groovy, Grails, JRuby, Jython, JWhatever, and so on...), but please be welcome to post whatever you use, being related to Java or not.
My goal here is to build a bucket of what people are doing and why they are doing to help me evaluate which way should I go, and which I shouldn't - and why. After all, it's not everyday that you have such freedom to decide.
Thanks in advance!