Inspiration
Most people have goals, but staying consistent is hard. Coaches help, but they’re expensive and not always available when you need them most. We wanted to build a system that integrates coaching into daily life without adding friction or requiring another app. Reflection is inspired by the idea that a mirror is the first thing you see every day — so why not make it a place where you can get personalized guidance, motivation, and accountability?
What it does
Reflection turns a smart mirror into a personal coach. When a user taps an NFC totem, the mirror recognizes them, loads their goals and context, and starts a voice-based coaching session. The coach listens, tracks progress, and provides tailored advice and next steps. Over time, it learns the user’s preferences and adapts its coaching style to fit their personality and goals.
How we built it
Reflection is built as a hybrid system combining a modern UI with an AI-powered backend and NFC-based identity verification.
Frontend (Mirror UI)
- Built with React + Electron + TypeScript
- Displays goals, progress, and coaching prompts
- Handles real-time interaction and UI updates
Backend (Logic & Intelligence)
- Implemented in Python
- Manages NFC authentication, goal tracking, and AI integration
- Communicates with the frontend via WebSockets for real-time responses
Database (Memory)
- MongoDB Atlas stores:
- User profiles
- NFC mappings
- Goals
- Long-term context
- Each NFC totem maps to a unique user profile, enabling instant personalization
AI & Voice
- Whisper for speech-to-text
- LLMs + RAG for intelligent coaching and long-term memory
- ElevenLabs for natural text-to-speech
Hardware
- Webcam and microphone capture input
- Arduino with a PN532 NFC module handles identity scanning
- Mirror display provides visual feedback and coaching prompts
Challenges we ran into
- Consistent coach behavior: Making the AI always act like a coach required careful prompt engineering and context control.
- Identity reliability: Ensuring NFC scanning consistently loaded the correct user profile every time.
- Real-time voice interaction: Building a seamless loop for speech-to-text, AI processing, and text-to-speech with minimal latency.
- Context management: Storing and retrieving long-term user context without sacrificing performance required a robust RAG design and database structure.
Accomplishments we’re proud of
- Implemented a reliable NFC identity system that instantly loads user profiles and goals.
- Built a real-time voice coaching loop using Whisper, LLMs, and ElevenLabs.
- Designed a RAG memory system that enables long-term personalization and consistent coaching.
- Developed a polished mirror UI that provides a smooth user experience and clear goal visualization.
What we learned
Reflection taught us that AI works best when paired with structured memory. Without context, AI coaching can feel generic or inconsistent. We learned that a coach needs a stable identity and long-term memory to be truly helpful. We also realized how important user experience is — the system must feel fast, reliable, and non-intrusive to become part of daily routines.
What’s next for Reflection
Next, we plan to:
- Improve personalization through fine-tuning
- Add goal analytics and progress visualization
- Expand into corporate mode for team coaching and shared goals
- Explore offline functionality by running models locally on the mirror hardware to improve speed and privacy
Log in or sign up for Devpost to join the conversation.