I'm launching a new website at RootsTech this week:
www.gengophers.com. It allows people to search 40,000 genealogy books (growing to 100K+ over the next several months). A few things that are interesting about it:
* I'm using Google Consumer Surveys to monetize it. (I'll likely add ads as well, but I'm starting with surveys). I didn't know about the surveys until recently. A survey sits on top of your content and the user has to answer the survey in order to remove the survey and see the content. Once they answer a survey, they're not shown another survey for a day or a week (you control this). The interesting part is you make a nickel each time someone answers a survey. This is a lot more than what I'd expect to get from just showing ads. I think it could open up a way to put a lot more genealogy records online without subscription fees.
* I decided to use Google Cloud instead of AWS for this site. I've been using AWS for 8 years at WeRelate now and I wanted to try something different. Lesson learned: don't try something different when you are under a deadline, even if that deadline seems a long way away initially. Along the way I've developed some definite opinions about the best way to use Google Cloud and things to stay away from. I'm happy to express those opinions if people are interested.
* Google cloud allows you to attach the same disk in read-only mode to multiple servers. This simplifies auto-scaling read-only databases and search indices.
* The back-end is written in the Go language. Go is not quite mature yet (no dependency management for example), but it's an interesting language. It's the antithesis of Scala :-) -- typed but very simple. It's my second-favorite language now after Javascript. I'm not sure if I had to do it over again if I would have gone with Go or Node.js for the backend -- it's a toss-up for me.
* Docker.io is awesome. I can't imagine life without it now.
* The front-end is written as an almost-single-page application in AngularJS. Because I'm using google consumer surveys, I had to split up my front-end app so the survey pages are actually being served as separate web pages. The survey code issues document.write statements, which require the document to not be fully loaded yet, so they don't work well in single-page applications :-(