Selected Projects

Rudy the Red Dot
Rudy is a web-based IDE for learners of programming.
Intended to complement a course or workshop, Rudy helps teach the introductory concepts of procedural programming.
- Levels are designed to dispel common misconceptions about programming.
- Execution is highlighted to help students internalize the program counter and call stack.
- Global variables and function scopes are shown to help students see how execution changes state.
- Expression evaluation is illustrated by replacing subexpressions with evaluated values in real-time.

Winston
Winston is a prototype robotic cocktail dispenser that takes orders online from your phone on a local network.
The Winston project also yielded Flashcom, a library for transmitting data to an Arduino or Raspberry Pi using a flashing smartphone screen as transmitter and a photodiode as receiver.

Workshop Weekend
Workshop Weekend is a weekend of DIY and crafts workshops at locations around the San Francisco bay area.
We won an editors choice award at Maker Faire in 2011, got some local press, and a bit of notoriety when we ran a lock-picking workshop at Sudo Room, a hackerspace in downtown Oakland.
Workshop Weekend: Arduino
Workshop Weekend: Arduino is a weekend-long workshop focused on electronics, microcontroller programming, and the Arduino platform.
If you're just getting started with Arduino, you may enjoy our set of introductory projects and labs.

EtherPad
EtherPad was the first real-time collaborative web-based word processor, designed to make real-time text editing as simple as possible.
After its acquisition by Google in 2009, we open-sourced the EtherPad codebase, and the non-profit Etherpad Foundation took over development.

Locus
Locus is a web app for videoconferencing, requiring no account or software download, with end-to-end encryption enabled by default. Its unique features are simple setup and positioned audio: participants' voices are 3D-localized to originate from their visual position on the screen.
Locus is no longer under active development, but before ceasing development prototyped a new approach to in-your-pajamas conferencing.

Learning Unlimited
Learning Unlimited is a start-up nonprofit dedicated to spreading an educational enrichment program, Splash, to universities across the United States.
Splash programs bring local high school and middle school students to a university for a weekend of classes on anything and everything, from quantum mechanics to copyright law, sushi-making, and neuroscience.
I helped re-start Stanford Splash in 2008, and taught at MIT Splash while an undergrad at MIT.
I’ve also worked on Google Health and Google App Engine, as well as the short-lived AppJet web application platform that allowed users to write, test, and deploy web applications using no client software other than a web browser. As part of AppJet, I authored the AppJet Learn to Program Guide.