Slides for my talk for the 2012 O'Reilly Fluent JavaScript Conference. This talk covers how Typekit built our new font browsing UI, taking advantage of MVVM (Model-View-ViewModel), declarative bindings, and client/server rendering to come up with a system that organized code across client and server and reduced duplication. Even though the server is in Ruby and the client code in JS, we were able to build an app-like client UI that degrades gracefully to a standard static webpages experience for clients that don't support JS.