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 social experiment.

Gaze is an experiment in which users open their webcam and see their eyes being drew on the canvas.

And later, the eyes on the screen change, they no longer follow users' eyes, it's somebody else's. While users are watching the 'other' on the screen, their eyes movement are actually being recorded.

It's like a conversation between the one inside the computer and the one in front of the computer.

In the end, users will be navigated to another page where they are able to browse through all the eyes stored in the database.

It's like a time machine, seeing how the conversation is being carried on.I'm curious if the eyes history will eventually converge towards similarity.

Technology: Three.js, webGL, GLSL, canvas, Node.js, web socket, MongoDB, eye tracking

Coming Soon


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

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

coming soon


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

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 Cinder Developer, worked out concept and designed and particle systems for the display.

I'm responsible for the particle system animations.

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

Case Study


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

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


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

See my Experiment on ChromeExperiments.com



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

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!

6 Billion People

A drawing tool and also the gallery of these drawings.

If I ask you to draw a human face, who will you draw?

6 Billion People is such a tool to help people draw human faces, and also an on-line gallery displaying these drawings.But in fact, people aren’t really "asked" to draw human faces, instead, they see human faces themselves when clicking the mouse, causing some of the circles on the screen moving and forming a blur profile.

Data of the author and also the drawing are collected throuhg crowdsourcing , allowing us to explore the relationship between these two.

It's still ongoing.

Technology: canvas, javascript, php, database