Moodify is a Flutter-based mobile application designed to support mental health tracking and crisis management. It provides users with tools to log their moods, take mental health assessments, generate reports, access emergency resources, and receive AI-driven insights into their mental well-being.
Download the latest APK release here:
- Description: Users can store notes in a Supabase backend, capturing their mental state and activities.
- Details:
- Notes include:
- Mood: User's emotional state on a 5-step scale, ranging from Very Sad (0), Sad (1), Neutral (2), Happy (3), to Very Happy (4), visualized with corresponding icons.
- Activities: Activities performed during the day.
- Emotions: Specific emotions experienced.
- Text Notes: Free-form text up to 1000 characters.
- Securely stored and retrieved using Supabase's real-time database.
- Notes include:
- Description: A standardized Patient Health Questionnaire (PHQ-9) test to assess depression severity.
- Details:
- Users can complete the PHQ-9 test within the app.
- Test results are saved for tracking progress over time.
- Provides insights into mental health status based on scores.
- Description: Generate PDF reports summarizing notes from a specified time period.
- Details:
- Users select a start and end date to export notes.
- Reports include mood, activities, emotions, and test results.
- Exported as a PDF for personal records or sharing with professionals.
- Description: Secure user authentication to protect personal data.
- Details:
- Supports login and sign-up via email/password.
- Powered by Supabase Auth for secure session management.
- Description: Quick access to emergency mental health hotlines for various countries.
- Details:
- Direct dialing for specific numbers (e.g., Poland: 116 123, EU: 112, US/Canada: 988).
- A popup dialog displays these hotlines, allowing users to select and call a number instantly.
- Integrated with
url_launcherfor seamless phone calls.
- Description: Uses an OpenAI text embeddings model to analyze notes and assess mental health risks.
- Details:
- Notes are scored based on their content.
- Measures cosine distance of note scores from predefined mental health categories:
- Addiction, ADHD, Alcoholism, Anxiety, Autism, Bipolar, Borderline, Depression, Health Anxiety, Lonely, PTSD, Social Anxiety, Suicide.
- Provides a risk calculation to identify potential mental health concerns.
- Flutter: Version 3.0.0 or higher.
- Dart: Version 2.17.0 or higher.
- Supabase Account: For backend storage and authentication.
- IDE: Android Studio, VS Code, or another Flutter-compatible IDE.
- Device/Emulator: For testing (iOS or Android).
-
Clone the Repository:
git clone https://github.com/your-username/moodify.git cd moodify -
Install Dependencies:
flutter pub get
-
Run the App:
flutter run
- Sign Up / Log In: Create an account or log in to access the app.
- Log Notes: Record your mood, activities, emotions, and text notes daily.
- Take PHQ-9 Test: Complete the depression assessment and view saved results.
- Generate Reports: Select a date range to export your notes summary as a PDF.
- Access Emergency Numbers: Dial a hotline directly or view a list of numbers in the emergency popup.
- View AI Insights: Check AI-generated risk assessments based on your notes.
flutter: Core framework for building the app.supabase_flutter: For backend storage and authentication.table_calendar: For a monthly notes view.shared_prefs: For settings storing.url_launcher: For dialing emergency numbers and launching websites.pdf: For generating PDF reports (assumed, based on report generation feature).- Others as specified in
pubspec.yaml.
We welcome contributions! To contribute:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/your-feature). - Commit changes (
git commit -m 'Add your feature'). - Push to the branch (
git push origin feature/your-feature). - Open a Pull Request.
This project is developed as part of a course at Gdańsk University of Technology (GUT). The licensing status is currently undefined; please contact the project team for details.
For questions or support, please reach out to the project team or open an issue on GitHub.
- Built with Flutter and Supabase.
- Developed as a student project for a course at Gdańsk University of Technology (GUT).
- Emergency numbers sourced from public mental health resources.