React NativeExpoGoMongoDB

Reflecta

Mood tracking mobile app with Go backend and intelligent insights generation.

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

Mobile App
Go API
MongoDB
Insights

Database Design

users

User profiles and preferences

mood_logs

Daily mood entries with timestamps

triggers

Emotional triggers and patterns

insights

Generated 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