Though I think GP is being a bit of an idiot, I read your source and I was a little surprised. The app only consists of static files, yet you run every request through a rack app that does nothing but send the static files (except for the indexing of the face files, which could've been done ahead of time too).
Why?