Experiential Design Portfolio
IMG_3391.jpg

AffirmationMirror

Self Affirmation Mirror

Uplift yourself unapologetically. Self affirmation Mirror encourages the user to boost their self-esteem in a fun, interactive, public way. It brings talking to yourself in the mirror out of the shadows.

IMG_3391.JPG

How it works: 

The Self Affirmation Mirror is an interactive piece for users to hype themselves up. The user sees their spoken self-affirmations appear as text around their reflection. There are stars lining the bottom of the screen that turn yellow with each compliment the user gives themselves. After five compliments are made, the mirror displays the final message telling the user “YOU ARE A STAR”.

Process

Concept  

For this project our team pursued a continuation of a hack-a-thon project about self-affirmation. In the initial idea the user faces their reflection on a computer screen, and states aloud positive statements about themselves. After each statement, the words of affirmation populate on the screen around them. 

We expanded this concept with the goal of integrating it into a physical mirror.

When choosing the environment that the mirror would be designed for we considered an in-home private daily experience or a public installation experience. Ultimately we picked a public installation because it was more accessible and would allow more view to witness self-positivity.

Another part of the user experience that we focused on was on the quantity of the “I am” statements. Having a fixed number of statements to aim for created a distinct endpoint, so we created five horizontal stars along the bottom of the screen. Each star gets filled in yellow when a new statement is made. After all stars are filled the message “YOU ARE A STAR” appears on the display.

Screen Shot 2021-08-13 at 1.23.58 PM.png

Code

This project was coded using Python, the visuals are done using the Pygame feature of python to draw images and text. We also used Google’s speech-to-text API.

Our code runs two threads, one for the API and one for the drawing. The API processes live audio input which we use to match on a set of predetermined “I am” statements. Each statement gets assigned one of our theme colors and a random location on the screen and is stored in a dictionary. The drawing thread goes through the dictionary and prints out each message with the corresponding color at the assigned location. For each rectangle with text that gets drawn, a star gets filled in.

Once five stars get filled in, the rectangles disappear and the final, “YOU ARE A STAR” message appears for a few seconds and then the interaction resets. The reset of the interaction is an important feature that facilitates the use of the mirror as an exhibit so many users can get the full experience without setup.

Some challenges we faced while coding included learning how to have two threads using the same variable. We implemented mutual exclusion: locking the dictionary while being used in each thread so that it wouldn’t change while being used. Another challenge was that the API would time out every so often, we solved this by catching the exception.

 
 

Hardware 

Once we had the code working on a laptop, we set it up on a Raspberry Pi, and connected a microphone. Now everything could be contained within the frame. We set up the Pi with Google credentials and our code. We also sized the python screen correctly to take up the whole TV screen.

Building the Frame  

We built the frame from ½” x 2” planed wood boards. The frame has four front pieces and four side pieces. All the pieces were cut diagonally on the miter saw so that they would fit together cleanly.

We glued and nailed the rim together, and then glued the front pieces to the rim. The frame is reinforced in the corners by wood triangles that also hold the TV.

We drilled a centered hole on the bottom of the frame for the power cable and a centered hole in the bottom front of the frame for the microphone.

Inside the frame in front of the TV is a sheet of 30% mirrored acrylic that we laser cut to size.

 
IMG_3396.JPG
 

Installation Label and Instructions

Custom labels and instructions were created to enable the user to easily participate in the experience.