Our project is an application, created by a Thomas Jefferson University professor and students, that gives users a way to interact with pieces from Philadelphia Museum of Art collection in a personal, unique, and fun way. It is fit for people of all ages, ranging from kids to the elderly.


In most museums, interaction between art and user is unidirectional: the user observes a piece of art hung on a wall or placed on a pedestal. Rarely is the art able to interact directly with the user. A user’s appreciation for the art piece can only be accomplished through the purchase of a print or replica. Those who wish to actively participate in still art can not….simply because more often than not, they are not the painted figure hanging on the wall.

What it does

Using our application, the user can become part of the art itself. A user uses our application to take a picture of him or herself. The application takes this picture and alters it to imitate the style or replaces certain areas with defining attributes of a selected painting. The user gets to keep the edited picture as a personal memorabilia. This picture is significant to the user and only the user, because it allows private/personal, yet bidirectional interaction with a piece of interest. The user is able to appreciate the painting with our created method which places the user directly inside the art or the art around the user.

How I built it

We used atom as our text editor and a server package to test our creation. p5.js was used as the main library and addons from tracking.js as our facial recognition software.

Challenges I ran into

Video capture currently doesn't work too well with iOS... working on it... Android works...that or carrying around a small computer.

Accomplishments that I'm proud of

Using basic javascript to create this fun application which allows many to have fun while making a personal connection to pieces of art they already enjoy.

What I learned

Learning JavaScript has made us aware of the interactions between the user, JavaScript, and underlying html. We learned why one language is used for certain functions and how a user's interaction with the application can be controlled through manipulation of either language.

What's next for Team Jefferson JS

Continuing our education and learning how to better ourselves and the world around us through creative and innovative code!

Built With

Share this project: