I only tested the application in Chrome so it might not work in other
browsers at all, patches gratefully received

Be aware that this is a demonstration application so it's running against an
in-memory database of sorts (an array) and you will lose any data you put into
it when you stop the server.

Frameworks

Backbone.js

Backbone supplies structure to JavaScript-heavy applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing application over a RESTful JSON interface.

Underscore.js

Underscore is a utility-belt library for JavaScript that provides a lot of the functional programming support that you would expect in Prototype.js (or Ruby), but without extending any of the built-in JavaScript objects. It's the tie to go along with jQuery's tux.