This document provides an introduction to the JavaScript library Backbone.js. It describes some common problems with JavaScript applications, such as tangled code and difficulty keeping the UI, logic and database in sync. Backbone.js addresses these issues by providing an MVC-inspired framework that organizes code into structured models, views and controllers. It also supports single page applications through its use of a router and by handling synchronization between the client and server through RESTful APIs. Several large companies are highlighted that use Backbone.js for its modularity, extensibility and ability to build complex, interactive interfaces.