Rails: Two years ago I switched from the standard shareware five-page-HTML-brochure site to the same site written in Rails, with the immediate goal of not having to do templating by hand anymore. It has grown organically since that, now boasting a CMS, a full-fledged web app, an API which interacts with my desktop application, copious reporting/administration/backend features, consumption of several web services for outsourced providers, and an A/B testing framework. You'd think it would be a staggering mess of spaghetti by now, but no, the MVC discipline makes it easy to maintain, easy to extend, and fairly easy to manage. Almost all time I spend in my IDE creates additional business value. This contrasts markedly with my experience with developing in Java, where frequently I have to mark off a week just to fight my tools.<p>Prawn: A maaaaaaaaaaaaaaajor pain point for me in developing my desktop version, and developing unrelated web apps for my day job, was laying out documents properly to be printed. Prawn makes it absurdly easy. For added goodness, throw in ImageMagick and you can turn the PDFs into GIFs for essentially no extra work.