Skip to content

About

Offline-first Android app for reminders.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Reminder

Reminder is a local-first Android app for scheduled reminders and checklists. The current implementation stores reminder data, categories, subtasks, attachments and preferences locally in Room and DataStore, and it continues to work without a remote server or account.

What this project does today

Reminder currently focuses on four core responsibilities:

  • local reminder creation and editing with scheduling, priority, subtasks, notes, categories, and photo attachments;
  • exact or inexact local alarm scheduling with Android AlarmManager and local notification delivery;
  • local backup/restore of reminders and related preferences in a portable .reminderbackup archive;
  • local settings, theming, retention, diagnostics, and home-screen widgets.

This is not a cloud-synced or multi-user application. The app can be built in two distribution variants:

  • offline: local-only distribution with no network permissions in the manifest;
  • online: same local reminder engine, with optional public GitHub release checks enabled.

Offline / Online status

The project is intentionally split into an offline flavor and an online flavor, but the real online implementation does not add remote reminder synchronization. Today, online is a local app with extra GitHub update-check logic, not a sync platform.

Main features implemented

  • reminders with title, notes, due date/time, category, priority, subtasks, and attachments;
  • local soft-delete + restore flow with a 90-day retention window and trash purge;
  • recurrence semantics through the reminder model and scheduling logic already present in the app;
  • three reminder alert levels: Light heads-up notification, Medium full-screen alert, and Strong full-screen alarm with looping sound; Android permissions control full-screen display over other apps;
  • local alarm scheduling and reboot rescheduling;
  • local backups with validate-and-restore logic;
  • a resizable Today reminders widget with per-widget transparency and a fixed quick-add widget.
  • Material 3 theme modes: System, Light, Dark, and AMOLED;
  • per-app language support for English, French, Italian, German, Spanish, Japanese, Simplified Chinese, and Arabic;
  • debug diagnostics limited to debug builds.

Current architecture

The project is a single Gradle module named :app, structured into packages rather than separate Android modules. The main layers are:

  • presentation: Compose UI and ViewModels;
  • domain: models, repository contracts, and use cases;
  • data: Room database, DAOs, repositories, backups, and workers;
  • core: alarms, notifications, preferences, debug tools, distribution features, and design system.

The app relies on Room, DataStore, WorkManager, Compose, and Android standard platform APIs.

Tech stack

  • Kotlin + Jetpack Compose
  • Room + KSP
  • DataStore Preferences
  • WorkManager
  • Material 3
  • Android AlarmManager, notifications, and foreground services

Build and requirements

  • Android 8.0+ (API 26)
  • JDK 21
  • Android SDK Platform 36
  • Gradle via the repository wrapper
./gradlew testOfflineDebugUnitTest testOnlineDebugUnitTest
./gradlew assembleOfflineDebug assembleOnlineDebug

For release builds, the project reads signing information from environment variables when present, and gradle.properties provides the current appVersionCode and appVersionName.

Documentation structure

This repository contains the product documentation in the docs/ directory.

Additional project docs:

License

Reminder is licensed under the GNU General Public License v3.0. See LICENSE.

Current project state

This repository is in active development and documentation is aligned to the implemented codebase, not to future plans. The project is locally centric and intentionally avoids remote synchronization until it is explicitly designed and implemented.

About

Offline-first Android app for reminders.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages