Inspiration

While building tools for productivity and task scheduling, I realized that true momentum isn't just about managing time—it's about managing our internal state. We frequently try to optimize our schedules and daily routines, but we often neglect the most critical variable: our emotional foundation. Exploring the principles of physical, mental, and emotional wellbeing made me realize that emotional friction is what truly derails focus. I wanted to build a "digital mirror" that maps this emotional arc in real time, helping users understand their mood so they can master their momentum.

What it does

MirrorMind is a real-time web application that acts as an AI companion for your mental state. Using a live webcam feed, it continuously tracks and analyzes your emotional arc, translating subtle expressions and verbal cues into actionable insights. Instead of just static check-ins, the dashboard provides a live stream of your emotional valence, helping you recognize when you are losing focus, getting frustrated, or hitting your flow state so you can adjust accordingly.

How we built it

We constructed this entire MVP during a frantic 6-hour sprint, utilizing a lightweight but powerful stack:Frontend: Built with React and Vite, and styled rapidly using Tailwind CSS. We leveraged the browser's MediaDevices API to capture live webcam streams directly in the DOM.Backend: A Node.js and Express server acts as the central communication bridge.Real-time Pipeline: We implemented Socket.io for a bi-directional, low-latency WebSocket connection, bypassing standard HTTP polling delays to stream data instantly.The Brain: The multimodal Google Gemini 2.5 Flash API. By passing temporal context blocks to Gemini, we gave the AI a "short-term memory" window to evaluate the trajectory of an emotional state, rather than just analyzing isolated snapshots.

Challenges we ran into

Stepping into this project as a complete beginner and noob when it comes to full-stack MVP architecture was the absolute biggest hurdle. The ticking 6-hour clock meant there was zero margin for error. Setting up a real-time WebSocket pipeline while simultaneously managing asynchronous browser camera permissions proved incredibly difficult to debug on the fly. Furthermore, packaging the conversation history so that the Gemini API could interpret the flow of emotion—without exceeding context limits or slowing down the feed—required aggressive scoping and simplifying our data structures under pressure.

Accomplishments that we're proud of

Getting a complete, real-time multimodal AI pipeline working in just six hours is a massive win. I am incredibly proud of successfully establishing the Socket.io connection and feeding temporal context into Gemini. Seeing the frontend actually render dynamic, AI-generated insights based on live video in such a short timeframe proved that the core architecture is fundamentally sound and that the pipeline works exactly as envisioned.

What we learned

This sprint was a masterclass in ruthless prioritization. I learned that when building an MVP, perfection is the enemy of a working prototype. I gained hands-on experience connecting a React frontend to a Node backend with WebSockets, and I discovered how incredibly responsive multimodal models like Gemini can be when provided with structured, continuous context. Most importantly, I learned that tackling a daunting project head-on, regardless of experience level, is the fastest way to build momentum.

What's next for MirrorMind

The immediate next step is to implement a local vector database to give MirrorMind long-term memory, allowing it to retrieve and recognize emotional patterns across days and weeks rather than just a single session. From there, I plan to integrate LangGraph to handle more complex reasoning workflows. This will effectively evolve the application from a passive mirror into an active framework that can trigger targeted interventions and suggest routine adjustments based on historical emotional data.

Built With

Share this project:

Updates

Submission history