- You're loading scripts in your head tag, and a crap-ton of them. At least some of these could be concat'd together. HTTP request carry a lot of overhead, so fewer is better. I bet at least some could be moved to the bottom as well, with some CSS/JS to avoid the dreaded Flash Of UnBehavioured Content.
- In a similar vein, you're loading a lot of images, more overhead again. At least some of these (like the clouds) could probably be combined into one file and then separated out with CSS.
- You're not setting long expire headers on your resources, bad for caching.
- You don't seem to be serving up gzipped resources.
- Some of the scripts aren't even minified.
Take clouds.js for example, you use a whole HTTP request on this one file, and it's small. It's also not very DRY, you have a bunch of repeats of basically the same code, it probably could have been re-written to something like:
$('.clouds').each(function(){
$(this).animate({
/* ... */
});
})
I realize some of this stuff is not entirely necessarily on a site like this, but considering how easy it is and the fact that you're applying for a front-end engineering job, I'd think you'd want to follow best practices.Overall it's a cool idea, very fun and nice looking. Good job.
(BTW, I'm available for work. If anyone from Airbnb is reading this, I can haz Job plz? )