I develop primarily in Python/Django on the server, and jQuery on the client.  I'm very happy with this stack (especially after years of blindly suffering with ASP & PHP), but have also recently discovered the joys of server-side asyncronous Javascript (and Coffeescript!) through Node.js, which I'm now using in several projects.

KA Lite We're currently experiencing what we're calling an "online learning revolution" — but what about the 65% of the world that can't take advantage of it? KA Lite is a lightweight web app for serving core Khan Academy content (videos and exercises) without needing internet connectivity, from a local server.

Surprised by the lack of tools for building class websites that simply worked, we designed thisCourse to be the fastest and easiest place to build class websites that both instructors and students love to use. With a few clicks you can create a free class website that includes documents, student discussions, announcements, gradebook, and a class schedule.

Like us on Facebook:
Like us on Google+:
eslGenie As part of my thesis work, I am in the process of developing eslGenie, a new site for English as a Second Language learning, using tools from computational linguistics and machine learning to enable automated error-correction, track a learner's progress, and provide learner-specific feedback. The system will also include a multi-modal platform for students and instructors to engage in remote, interactive tutoring, with video chat, a whiteboard, and a text-correction interface.
UCSD Cognitive Science Department In 2010, I redid the backend of the UCSD Cognitive Science Department website using Django and Django CMS, allowing faculty, staff, and students to add, update, and find content more efficiently.
coderUp In 2009 (while learning Django), I set out to create a website (coderUp) to help people learn and practice fundamental programming/algorithmic skills, through interactive browser-based exercises with immediate, automated stylistic and syntactic feedback, and unit-testing (to check if the problem had been solved).