NLP-powered journaling with a 3-tier sentiment pipeline: Hugging Face RoBERTa inference, TextBlob fallback, and LRU-cached analysis with ~40% hit rate.
Mind Mirror is a full-stack journaling platform that uses NLP to analyze the emotional content of daily entries. The backend is built with FastAPI and MongoDB, processing journal text through the Hugging Face Inference API (cardiffnlp/twitter-roberta-base-sentiment) with TextBlob as fallback. An LRU cache (256 entries, 30-minute TTL) minimizes API calls. The React 19 + Vite 7 frontend offers a dashboard with sentiment distribution charts, streak tracking, mood volatility analysis, and quick-entry prompts. Pro users get trigger analysis (Work, Fatigue, Social, Health keywords), volatility mapping, and mood forecasting. The system supports CSV export, full-text search, and dual deployment via standard server and AWS Lambda (Mangum).
| Entry Point | main.py / frontend/src/main.jsx |
| Build | cd frontend && npm run build |
| Run | python main.py |
| Architecture | Layered monolith — FastAPI + React SPA + MongoDB |
| Dependencies | 18 |
| Docker | No |
Layered monolith — FastAPI + React SPA + MongoDB