Problem Statement
Mental health tracking apps often lack personalized insights, store data inefficiently, and fail to scale with user-generated emotional data. Users need a platform that understands the unstructured nature of emotional experiences.
Solution
Reflecta was built with a React Native (Expo) mobile frontend, Golang backend API for performance, and MongoDB for flexible emotional data storage. The system generates meaningful insights and trends from user mood logs.
System Architecture
React Native App
Cross-platform mobile app built with Expo for iOS and Android
Go Backend
Lightweight and performant REST API for data processing
MongoDB
NoSQL database for flexible emotional data storage
Insights Engine
Aggregation pipelines for trend analysis and pattern detection
Data Flow
Database Design
usersUser profiles and preferences
mood_logsDaily mood entries with timestamps
triggersEmotional triggers and patterns
insightsGenerated trends and analytics
Challenges & Solutions
Modeling Emotional Data
Used NoSQL schema design with MongoDB to handle varying emotional data structures and unstructured user inputs.
Insight Generation Logic
Implemented aggregation pipelines for trend analysis, enabling pattern detection across mood logs over time.
Efficient Data Retrieval
Lightweight Go API design ensures fast response times while MongoDB's indexing handles growing data volumes.
Key Takeaways
- MongoDB's flexibility is ideal for unstructured emotional data
- Go provides excellent performance for lightweight API services
- Aggregation pipelines enable powerful trend analysis without complex application logic