Android app for tracking mood, habits, and personal metrics through scheduled daily prompts
- Scheduled notifications — Configurable daily prompts at times you choose
- Multiple question types — Text, yes/no, numeric, and multiple-choice
- Local storage — All data stays on your device
- Dark/light mode — Material Design 3 theming
- Persistent — Notifications survive restarts and battery optimization
- Log views — Timeline, by-question, and per-question history
MoodTracker prompts you with questions throughout the day and stores your responses locally. You define the questions, answer types, and notification schedule. The app provides several views for reviewing your logged data over time.
- Download
app-release.apkfrom Releases - Enable "Install from Unknown Sources" in Android settings
- Install and grant notification permissions
Requirements: Android 7.0+ (API 24) • ~11MB storage
- Open the configuration tab and add questions
- Set notification times in settings
- Respond to prompts as they appear
- Review responses in the logs section
| Question | Type | Use Case |
|---|---|---|
| "How is your mood?" | Multiple choice | Mood tracking |
| "Did you exercise today?" | Yes/No | Habit tracking |
| "Hours at the computer?" | Number | Time tracking |
| "Notes for the day" | Text | Journaling |
Technology Stack
| Component | Technology |
|---|---|
| Language | Kotlin |
| UI Framework | Jetpack Compose + Material Design 3 |
| Database | Room (SQLite) |
| Background Tasks | WorkManager |
| Date/Time | kotlinx-datetime |
| Architecture | MVVM with Repository pattern |
Project Structure
app/src/main/java/com/moodtracker/
├── data/
│ ├── database/ # Room database, DAOs
│ ├── models/ # Data classes
│ └── repository/ # Data access layer
├── services/ # Background services, notifications
├── ui/
│ ├── answer/ # Question answering interface
│ ├── config/ # Configuration screens
│ ├── logs/ # Logging and analytics
│ ├── main/ # Main dashboard
│ └── theme/ # UI theming
└── utils/ # Utility functions
Required Permissions
POST_NOTIFICATIONS— Display notificationsSCHEDULE_EXACT_ALARM— Precise timingRECEIVE_BOOT_COMPLETED— Resume after restartWAKE_LOCK— Background reliability
Building from Source
git clone https://github.com/your-username/moodtracker.git
cd moodtracker
# Requires Android SDK and JDK 17+
./gradlew assembleDebug- All data stored locally on device
- No external servers or analytics
- No account required
- Data export (CSV/JSON)
- Analytics dashboard with charts
- Cloud backup & sync
- Home screen widgets
- Localization
- Issues — Report bugs or request features via GitHub Issues
- Pull Requests — Contributions welcome
Open source. Free to use and modify.
Version 1.0.0 • Android 7.0+ • ~11MB