FeelSight is a Flutter application designed to help users track and visualize their daily moods using advanced facial expression detection. Simply capture your facial expression and let FeelSight log your mood instantly.
- Facial Expression Detection: Capture your mood using your device's camera — FeelSight intelligently detects your emotion (Happy, Sad, Angry, Surprised, and more).
- Mood Logging: Log your mood with associated emoji, mood name, and a descriptive note. Optionally attach an image for richer context.
- Mood Timeline: View a chronological timeline of all your mood entries with pagination for smooth scrolling.
- Comprehensive Analysis: Visualize mood distribution and identify your most common emotions with easy-to-understand charts.
- Trend Tracking: See how your mood evolves over days, weeks, and months to recognize emotional patterns.
- Search & Filter: Find specific mood entries by text search or date filter.
- Edit & Update: Edit past mood entries including images and descriptions.
- Data Export: Export your mood data as CSV or JSON for your own analysis.
- Backup & Restore: Backup and restore your mood database.
- Theming: Supports both light and dark themes.
- Privacy-First: Facial expression processing runs locally on your device using on-device ML — your images are not stored unless you explicitly choose to.
To get a local copy up and running, follow these simple steps.
- Flutter SDK (version 3.x.x or higher recommended)
- Dart SDK (comes with Flutter SDK)
- A code editor like VS Code or Android Studio
- Clone the repository:
git clone https://github.com/iamsaikat/feelsight.git cd feelsight - Install dependencies:
flutter pub get
- Run the application:
flutter run
- Logging a Mood: Open the app and use the camera to capture your facial expression or manually select a mood. Add a note and optionally attach an image.
- Viewing Timeline: Access the timeline view to browse your past mood entries chronologically.
- Analyze Moods: Head to the analysis page to see your mood distribution and trends over time.
- Editing Entries: Tap on any mood entry to edit or update its details.
- Exporting Data: Use the settings page to export your data as CSV or JSON.
.
├── android/
├── assets/
│ ├── fonts/
│ ├── icon/
│ ├── images/
│ └── models/
├── ios/
├── lib/
│ ├── main.dart
│ ├── models/
│ │ ├── mood_entry.dart
│ │ └── mood.dart
│ ├── pages/
│ │ ├── about_screen.dart
│ │ ├── analysis_page.dart
│ │ ├── camera_screen.dart
│ │ ├── explore_activity_screen.dart
│ │ ├── home_page.dart
│ │ ├── image_preview_screen.dart
│ │ ├── login_screen.dart
│ │ ├── notifications_screen.dart
│ │ ├── settings_page.dart
│ │ ├── splash_screen.dart
│ │ └── timeline_page.dart
│ ├── services/
│ │ ├── app_update_service.dart
│ │ └── theme_service.dart
│ ├── utils/
│ └── widgets/
├── linux/
├── macos/
├── test/
├── web/
├── windows/
├── .gitignore
├── .metadata
├── analysis_options.yaml
├── devtools_options.yaml
├── face_mood_detector.py
├── flutter_launcher_icons.yaml
└── pubspec.yaml
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Saikat Halder - iamdevsaikat@gmail.com
Project Link: https://github.com/iamsaikat/feelsight