AI for Good Hackathon 2026 — Team Ivy Labs
IvyMental is a privacy-first, cross-platform mobile diary app that helps users monitor their mental health. By analyzing spoken diary entries, it determines the user's mood and emotional patterns using optimized, on-device machine learning models.
- On-Device Machine Learning (ONNX): Classifies mood and 8 distinct emotional categories (Calm, Energy, Stress, etc.) directly on your device using a DistilBERT model.
- Offline Voice Check-ins: Powered by local Whisper STT (Speech-to-Text) for instant transcription of voice diaries.
- Privacy First: All audio processing, transcriptions, and analyses are performed entirely on-device. No cloud APIs, no databases tracking your thoughts, and zero network calls for your personal data.
- Smart Notification Reminders: Fully configurable daily reminder times and score threshold reminders that automatically check if your rolling weekly average score falls below a threshold to suggest seeking support.
| Folder | Description |
|---|---|
app/ |
Flutter cross-platform mobile app codebase. |
ml_trainer/ |
Python script suite to train and export the DistilBERT model (mood + 8 emotions). |
Navigate to the trainer folder to train the model locally using uv (or your preferred Python package manager):
cd ml_trainer
uv run train.pyConvert the trained DistilBERT weights into an ONNX model optimized for mobile devices:
uv run export_onnx.pyThis output saves the compiled model at ml_trainer/models/model.onnx.
Copy the ONNX model and the vocabulary token text file into the Flutter asset registry:
cp ml_trainer/models/model.onnx ../app/assets/ml/Navigate into the app directory, install packages, and launch:
cd ../app
flutter pub get
flutter runTo compile production-ready release builds:
flutter build appbundle # Android (Google Play)
flutter build ipa # iOS (App Store)

