Mood Cairns
Private, fully offline mood tracker. No network access. Your data's yours..
lcdcode Sports & Health
Screenshots
Description
A private, fully offline Android mood tracker. Log how you're feeling against your own scales, in your own time windows, on your own device. Nothing is ever uploaded - sync, if you want it, is your job (Syncthing works well on the encrypted backup folder).
<b>Features</b>
* <b>Custom scales.</b> Five built-in scales (Happiness, Anxiety, Stress, Boredom, Pain), each numeric and color-tagged. Add your own; archive the ones you don't want.
* <b>Prompt windows.</b> Define time-of-day windows (e.g. morning 08:00-12:00, evening 18:00-20:00). The app fires one notification per window per day at a randomized time inside it. Tap the notification to jump straight to the log entry screen.
* <b>History and charts.</b> Browse past entries, see per-scale trends over time.
* <b>Encrypted on-disk storage.</b> The mood database is encrypted at rest using SQLCipher. The key lives in memory only while the app is unlocked, and is wiped when you lock it.
* <b>PIN + biometric lock.</b> PIN-gated app entry, with optional biometric unlock. PIN is hashed with PBKDF2-HMAC-SHA256 (600k iterations) before being stored.
* <b>Encrypted backups.</b> Manual export writes an AES-GCM-encrypted JSON file to Documents/MoodCairns/. The encryption key is derived from your PIN with PBKDF2-HMAC-SHA256 (200k iterations) and a fresh per-backup salt embedded in the envelope, so any install (including a fresh one) can decrypt with the same PIN.
* <b>Home-screen widget</b> for one-tap mood logging.
<b>Privacy contract</b>
The app declares <b>no network permissions</b>. Without internet, the process literally cannot open a socket, which makes phone-home impossible regardless of what any included library tries to do.
The build enforces this, so a network permission can never be silently introduced by a dependency update.
If you want backups synced off-device, point Syncthing (or any file manager that can sync a folder) at Documents/MoodCairns/.
<b>Source</b>
Fully open source under GPL-3.0-only. Built on Kotlin, Jetpack Compose, Room, SQLCipher, and AndroidX.
What’s new (1.0.7)
- Search notes and filter History by date or prompt slot.
- Add "Change date/time..." when manually logging or editing an entry, so you can record a mood for a past date and time (for example, one you missed).
- Minor security patches.
Versions
Permissions
What the app asks the system for. Android only grants sensitive access after you confirm it.
- NotificationsShow notifications.
- Run at startupStart automatically after the device is switched on.
- BiometricsUnlock with fingerprint or face.
- Exact alarmsTrigger actions at a precise time.
- USE_EXACT_ALARM
- Prevent sleepingKeep the device from going to sleep.
- Foreground serviceKeep running in the background, visible in the status bar.
- FingerprintUnlock with a fingerprint.
Show 1 more permissions
- moodcairns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Comments