The Story Behind MoodMirror: A Smart Scrapbook for the Soul đź’ˇ Inspiration In an increasingly fast-paced digital world, traditional journaling can sometimes feel like a chore, while general mental health tracking apps often feel cold, clinical, and mechanical.
We wanted to create a safe, warm space that combines the nostalgic, creative aesthetic of a personal handwritten scrapbook with the supportive intelligence of modern AI. MoodMirror was born out of the desire to bridge this gap—giving users a beautiful, private sanctuary to pour their hearts out via text or voice, and instantly receiving a reflecting pool of their emotional patterns and proactive mental health guidance.
🛠️ How We Built It MoodMirror is an integrated, full-stack application built using a decoupled architecture:
The Frontend (The Scrapbook UI) React & TypeScript: Powers a fast, type-safe Single Page Application (SPA).
Tailwind CSS: Engineered the custom polaroid layouts, warm vintage color palettes (#fcfbf7), and cursive typography to mimic real paper.
Framer Motion: Adds elegant, organic animations (like fade-ups and breathing background orbs) to create a calming user experience.
Recharts: Translates raw database numbers into beautiful, interactive data visualizations (line, bar, and pie charts) on the history dashboard.
The Backend (The AI Engine) Flask (Python): Acts as our centralized REST API handling authentication, analysis pipeline coordination, and statistics generation.
SQLite3: A lightweight, disk-based database used to securely store user credentials, journal logs, and chat histories using relational foreign keys.
Hugging Face Transformers (DistilRoBERTa): Evaluates written journal entries across fine-grained emotional dimensions (e.g., Joy, Love, Surprise, Sadness, Anger, Fear).
OpenAI Whisper: Transcribes raw voice journals asynchronously from the browser's MediaRecorder API directly into plain text.
Google Gemini 1.5 Flash: Orchestrates our global, continuous AI companion (/chat) and computes proactive, contextual mental health tips based on recent tracking patterns (/get_suggestions).
Log in or sign up for Devpost to join the conversation.