package icon

Mood Cairns

Private, fully offline mood tracker. No network access. Your data's yours..
New in version 1.1.0
- New Custom Tags feature: People, Places, and Activity tags can be assigned and filtered on (thanks github.com/carliitooss)
- 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
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).

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.

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
  • Version 1.1.0 (9) suggested Added on Jul 28, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • run foreground service
      Allows the app to make use of foreground services.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • Schedule precisely timed actions
      This app can schedule work to happen at a desired time in the future. This also means that the app can run when you're not actively using the device.
    • use biometric hardware
      Allows the app to use biometric hardware for authentication
    • Schedule alarms or event reminders
      This app can schedule actions like alarms and reminders to notify you at a desired time in the future.
    • use fingerprint hardware
      Allows the app to use fingerprint hardware for authentication
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.lcdcode.moodcairns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 24 MiB PGP Signature | Build Log

  • New in version 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.
  • Version 1.0.7 (8) - Added on Jul 15, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • run foreground service
      Allows the app to make use of foreground services.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • Schedule precisely timed actions
      This app can schedule work to happen at a desired time in the future. This also means that the app can run when you're not actively using the device.
    • use biometric hardware
      Allows the app to use biometric hardware for authentication
    • Schedule alarms or event reminders
      This app can schedule actions like alarms and reminders to notify you at a desired time in the future.
    • use fingerprint hardware
      Allows the app to use fingerprint hardware for authentication
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.lcdcode.moodcairns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 24 MiB PGP Signature | Build Log

  • New in version 1.0.6
    - Slightly updated main icon
    - New monochrome icon
  • Version 1.0.6 (7) - Added on Jul 03, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 10 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • run foreground service
      Allows the app to make use of foreground services.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • Schedule precisely timed actions
      This app can schedule work to happen at a desired time in the future. This also means that the app can run when you're not actively using the device.
    • use biometric hardware
      Allows the app to use biometric hardware for authentication
    • Schedule alarms or event reminders
      This app can schedule actions like alarms and reminders to notify you at a desired time in the future.
    • use fingerprint hardware
      Allows the app to use fingerprint hardware for authentication
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.lcdcode.moodcairns.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 24 MiB PGP Signature | Build Log