Mirrored Empathy
Build Process
To build Mirrored Empathy, I started by writing the Python script that would handle the core logic of the interaction. I used several libraries: mediapipe and opencv-python to handle face detection through the webcam, speech_recognition to capture voice input, pyttsx3 for text-to-speech output, openai to connect with the GPT-3.5 API for conversational responses, and pyserial to send mood signals to an Arduino. I coded the interaction flow so that the system begins by detecting a face using MediaPipe, then plays a spoken prompt asking how the user is feeling. Once the response is captured and converted to text, the script classifies the emotion based on a keyword list and sends the matching mood to the Arduino over serial. I wrote a separate Arduino sketch using the Adafruit_NeoPixel library to take that input and change the color of an LED rgb light strip.
​
For the final build, I’ll be mounting a standard webcam at the top of a two-way mirror. Behind the mirror, I’ll place a computer monitor to display the ChatGPT interface and visual prompts. I plan to build a wooden frame to hold everything together, allowing space behind the glass for the LED strip to run along the edges. The LEDs will shine through from behind, glowing softly through the mirror’s back layer without interfering with the reflection. All wiring from the LED strip will feed into the Arduino, which connects via USB to my laptop hidden in the frame. The webcam feed, LED control, GPT conversation, and voice output will all be handled by the Python script running locally. The whole system will be self-contained, with the only external parts being power for the laptop and monitor. This setup turns the mirror into a single responsive unit—emotional AI, lighting, and conversation all tied together physically and digitally.
Our Team.
This is your Team section. It's a great place to introduce your team and talk about what makes it special, such as your culture and work philosophy. Don't be afraid to illustrate personality and character to help users connect with your team.