Mood Cairns
- Help text for Charts
- Allow users to export unsafe (unencrypted) CSV file if enabled in settings to perform further analysis if desired.
- Show Notes and Tags on your entries when you tap on a date in the Chart
Features
* Custom scales. Five built-in scales (Happiness, Anxiety, Stress, Boredom, Pain), each numeric and color-tagged. Add your own; archive the ones you don't want.
* Prompt windows. 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.
* History and charts. Browse past entries, see per-scale trends over time.
* Encrypted on-disk storage. 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.
* PIN + biometric lock. PIN-gated app entry, with optional biometric unlock. PIN is hashed with PBKDF2-HMAC-SHA256 (600k iterations) before being stored.
* Encrypted backups. 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.
* Home-screen widget for one-tap mood logging.
Privacy contract
The app declares no network permissions. 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/.
Contact
The best way to get in touch for issues, feature requests, etc. is the Issues page on github.com/lcdcode/mood-cairns. I will usually respond within 3 business days.
Source
Fully open source under GPL-3.0-only. Built on Kotlin, Jetpack Compose, Room, SQLCipher, and AndroidX.
- Author: lcdcode
- License: GNU General Public License v3.0 only
- Issue Tracker
- Source Code
- Build Metadata
- Reproducibility Status
Versions
Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.
Download F-Droid-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 10 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 24 MiB PGP Signature | Build Log
-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 10 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 24 MiB PGP Signature | Build Log
-
arm64-v8aarmeabi-v7ax86x86_64This version requires Android 10 or newer.
It is built and signed by the original developer, and guaranteed to correspond to this source tarball.
Download APK 24 MiB PGP Signature | Build Log
- 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.
- New monochrome icon




