I am currently a software engineer at Leap Motion. I have a Master's in Human Computer Interaction from Carnegie Mellon University and a BS in Robotics from Olin College of Engineering. Previously, I've been a roboticist, a dance instructor, a front-end developer and an IP litigation consultant.

» Résumé

In class, we were told about the idea of kinetic typography. Doing research on the subject, I could only find static examples—just search for 'kinetic typography' on Youtube. Even Johnny Lee's examples were all focused around making pre-compiling the kinetic typography and playing it back. One of my recurring interests is better utilizing human communication bandwidth, and this seemed like a prime opportunity to do just that.

Most chat applications render text statically. You can typically change colors and fonts, but these functions are hidden behind menus and difficult to change quickly. Some programs, such as Google Wave, explored showing text as it was typed, but users cited privacy concerns that many of these efforts were cancelled. I decided to apply the principles of kinetic typography to a basic chat application.

Because it would be prohibitively slow to require the user to manually preconfigure the motion of each word, we rely on information from the keystroke timing and punctuation to determine the intended inflection. Based on this intended inflection, we apply one or more graphic styles and animations to the words, resulting in dynamic kinetic typography.