That's a terrific JavaScript exercise, and sounds like a lot of fun. My only concern about the process would be the in-person interview. I recently flew from LA to the East coast for an all-day interview session, and the experience was miserable. My flight was delayed for hours, I got into my hotel at 1AM, I was sleep-deprived, jet-lagged, and exhausted for the entire process, and then I had to rush to catch my flight back as soon as I wrapped up. The flights averaged out at 6 hours in each direction, so I spent 12 hours in the air within a 24-hour period. Not fun, but a great way to ensure your candidate is at his/her weakest during the interviews. :)