How's everything going?

My name is Karen Peng 彭嘉颖.

In a beta mode at ITP NYU + Recurse Center.

Welcome to my lab! Let's play and have good fun.


A emotion & gesture-based arpeggiator and synthesizer.

motionEmotion uses the webcam to detect points of motion on the screen and tracks the user's emotion.

It draws triangles between the points of motion, and each triangle represents a note in an arpeggio/scale that is determined by the user's emotion.

It's a collaboration with Jason Sigal at nyc music hackathon.

I came up with the original idea, worked on graphics and motion detection, and Jason worked on sound design.

Technology: getUserMedia, web audio api, clmtrackr, Tone.js, canvas, javascript

Source Code

See my Experiment on ChromeExperiments.com


Google+ IO Display

An animation- and community-driven LED display for Google+ during Google I/O 2014.

For Google I/O 2014 I participated in the development and worked with my team to design and implement an animation- and community-driven LED display for Google+.

The display showcased Google's new Material Design brand styleguide and the newly released Google+ Stories feature.

As a technologist intern in Big Spaceship, I worked closely with visual designer and developer, worked out design concept, made prototypes and implemented code.

I'm responsible for:

* Helped with Node.js server to get Google+ feed in real time

* Designed and Implemented particle animation in different categories with C++ framework Cinder

Technology: Cinder, C++, Node.js, javascript

Case Study

Photo credit: Naim Sheriff, Thomas McCabe, Alexander Rea, Chris Fahey

It's running in 1:36 of this video :)

Testing with customized visual design for Big Spaceship internal use:


A url shortener.

Short.ly is a url shortener that I built in Recurse Center(FKA Hacker School).

It started as an exercise and I spent time on polishing it. Sorry that the domain isn't that short :p

It uses React.js for frontend and Node.js / express.js for backend.

Technology: javascript, React.js, Node.js, express.js, boothstrap css

Source Code



FPV Code

Two-player real-time coding game.

FPV Code is a two-player coding game.

In the game, you have to write instructions for your character to reach the target.

There are obstacles along the way and you are also competing with your friend against time. You can see your friend's code but there's no way to cheat.

It's like a visualization of for loop, in order to help people understand coding in more sense.


Technology: Three.js, ace editor, Node.js, web socket, webGL, canvas, javascript

Source Code

See my Experiment on ChromeExperiments.com


Yoda Newz

A site for querying newz from Yoda, also a twitter bot sending you newz.

Newz, Yoda tells you, yessssss.

Yoda Newz is a terminal like website, in which you can query news by date. Yoda will tell jokes sometimes.

It's also a twitter bot @yodanewz, which tweets a piece of newz every night.

So how does Yoda select news?

Hummm...it actually chooses between new york times, hacker news and reddit shower thoughts. No one knows which one he's gonna choose tonight!

All the newz are saved in a database for user to query from the website.

Technology: Node.js, mongoDB, ajax, a lot of APIs, css, javascript

Source Code



Yellow Tail

Magical multi-user drawing experience.

Watch your drawing comes to live!

Yellow Tail is a multi-player drawing experience. Use your touch-based device to draw anything, shake it and your drawing will move on your laptop. What's more, you could play with your friends, use your imagination and have good fun!

Technology: DeviceMotion events, Node.js, socket.io, canvas, javascript

Source Code

See my Experiment on ChromeExperiments.com


Drawing Script

Ridiculous Programming: draw like in the wild space, type like in a terminal.

This is an experiment about combining coding and drawing.

Use your free hand drawing as an value input, and then code on these drawings, to assign values to objects and make them animate.

Drawing is so free that the only limit is your imagination, coding is so rigid that it's all about order and logic. My curiosity leads me to experiment between these two.

Technology: peg.js, plt.js, canvas, javascript

Source Code



I'm still figuring out what to do with it, if you have any idea, don't hesitate to email me <3 !


A two-player voice control shooting game.

Watch out for the crazy sound! Use your voice to poke the jell-o, and shoot your friend!

Noisee is a two-player voice control game. Use your own voice to make the jello jump. What's more, you could play with your friend and shoot each other.

Technology: WebRTC, web audio api, Node.js, canvas, javascript

Source Code

See my Experiment on ChromeExperiments.com


Your pitch determines how height it jumps, and your volume makes up your bullets' size.

Cooperate Quilt

A multi-player drawing game.

Sew a quilt with crowd.

Cooperate Quilt lets people mix color with RGB, and fill in the grid with the color they mix. What's more exciting, it can be played by multiple players in real time. Invite your friends to sew the quilt together! See what you will get!

Bonus: click the bottom left corner of the canvas and press any key, save the quilt you just creat!

Technology: Node.js, canvas, javascript


ITP Quilt

This is what's going on when my team invite our class to play it together in ITP.

The result turned out to be awesome! And yeah we have an ITP quilt now!

Umipay Mobile App

An application which enables users to earn "money" in their virtual account and cash it into selected applications.

Umipay is a tool-typed application produced by Youmi Moblie Co. Ltd.

It mainly serves three functions: earning, storing and cashing "money" of virtual account. It connects with various android applications' account systems, thus users can have flexible choices on their "money" disposal.

It also provides users with different sorts of mini tasks to earn "money", such as downloading new applications and playing online games, making the earning process painless.

For users, it builds up a system for virtual currency circulation, and for developers and advertisers, it also creates a system of user volume circulation.

Working as an interaction designer, I contributed in research, concept development and interaction designing.

Role: Interaction design, User experience design and some information architect



The early concept design and wireframe for Umipay. Main functions were listed and organized by pages:

1.1 Pages list

1.2 Mini tasks to earn money

1.3 Applications try out

1.4 Applications sign in

1.5 Online games try out

1.6 Online games introduction

1.7 Official tasks

1.8 Phone recharge

1.9 Advertising check out

Further interaction design in flow paths between pages.

User experience and visual expression were highly considered in this procedure, and some of the original designs were adjusted.


Umipay Promotion Site

The promotion web site for Umipay application.

Umipay application's promotion web site, explaning what Umipay is and how it can improve users' virtual currency using experience, motivating people to use it.

It is a light-weighted project and I contributed to most of the work: from concept development, interaction designing, copy writing, visual designing, to part of the front-end programming.

Role: Interaction design, UX and UI design



In the slides, it raises three problems which a user might occur to when using different applications and managing different accounts:

1.Lack of a weapon in a game. 2.losing "money" when application deleted. 3.Being worried about the source of income.

On the right side, it offers a simple solution---Umipay application, and provides apk download button.

Then in the middle of the page, it explains how Umipay may perfectly solves these problems:

1.Connecting with many applications' account systems.

2.Cashing your "money" in the application you choose so as to buy the things you need.

3.Abundant ways to earn "money" for your virtual account.


Early information development and organization.

Wireframe for the site.