Echo Journal is a mobile journaling app designe to help users write down their thoughts, track their emotions, and gain actionable insight into their mental well-being. By combining reflective writing with self-trained AI-driven emotion analysis, the app fosters self-awareness and provides personalized recommendations to improve emotional resilience.
- AI-Powered Emotion Analysis: Analyze journal entries to detect emotions like happiness, sadness, anger, and calmness.
- Personalized Recommendations: Receive tailored suggestions based on your emotional state.
- Mood Board Visualization: Track emotional trends over time with an interactive calendar.
- Photo Integration: Attach images to your entries for a richer journaling experience.
- Night Mode: Enjoy a visually comfortable interface with a customizable night mode.
- Duplicate Entry Prevention: Avoid accidental duplicate entries for the same date.
- macOS or iOS device
- Xcode 14+ installed
- Swift 5.7+
-
Clone the repository:
git clone https://github.com/rs-dkd/EchoJournal.git
-
Open project in Xcode: File > Open > EchoJournal
-
Resolve Dependencies:
swift package resolve
-
Build and Run: Click Run button in Xcode
-
Create a New Entry:
- Tap the "+" button to start a new journal entry.
- Write down your thoughts.
- Add photos to complement your entry.
-
Analyze Your Mood:
- After saving your entry, choose to analyze your mood.
- The app will display the detected emotion, an emoji representation, and personalized recommendations.
-
Track Trends:
- Visit the "Mood Board" tab to view your emotional trends over time.
- Use the calendar to navigate through past entries and reflect on your journey.
- Enjoy all of the images you included in your entries throughout the month.
Echo Journal leverages CoreML and a custom-trained machine learning model (toneDetectorAI) to analyze the emotional tone of journal entries. Here's how it works:
- Text Processing: The app processes the text of each entry using Natural Language Processing (NLP) techniques.
- Emotion Detection: The AI model predicts one of four emotions—Happy, Sad, Angry, or Calm—based on the content.
- Recommendations: Based on the detected emotion, the app provides actionable suggestions to help users manage their feelings.
This integration transforms simple journaling into a powerful tool for emotional exploration and growth.