Skip to content

Repository files navigation

Secretary

Personal Assistant for Android

Todos, reminders and chat in your pocket. Speak to the assistant and it turns natural language into tasks and scheduled reminders — which ring even when the app is not running.

🌐 secretary.shuttlelab.org  ·  📦 Download the latest APK  ·  💻 Website source

Android Kotlin Compose

Secretary app screenshot

About

Secretary is the Android client for the Secretary personal-assistant server. The app shares the same data as the server — tasks, history and timezone — and is the closest thing to an always-awake assistant: type or dictate in chat, get tasks created and reminders scheduled, and receive them as push notifications.

Reminder delivery does not depend on the app staying in the foreground: each reminder is scheduled as a local alarm, so it rings on time even when the app is killed or the device has no Google services, with push as a supplement.

Key Features

  • Chat-based task entry — talk to the assistant in natural language; it creates todos, schedules reminders, answers questions, and logs journal entries.
  • Todos — real-time list, check-off, edit, swipe to complete or delete (delete asks first), and a Done archive with search.
  • Reliable reminders — local AlarmManager alarms as the primary path (exact alarms, battery-optimisation exemption), so they fire on time offline, under Chinese ROMs, and even with the process dead.
  • Push fallback — FCM hybrid (notification + data) messages deliver reminders in any state on Play-service devices; a 15-minute WorkManager reconciliation re-arms alarms and re-registers the token.
  • Snooze in one tap — notification actions for Done / Snooze, kept on the lock screen if you want.
  • Chat & journal history — Done page merges completed tasks, journal entries, and search.
  • Bilingual — English and 中文.
  • Lean by design — no Retrofit / Room / DataStore / Hilt / Navigation; one hand-rolled REST client, plain state, and a server that is the single source of truth.

Screenshots

Secretary screenshot Secretary screenshot Secretary screenshot

Install

Download Secretary.apk from the latest release or from secretary.shuttlelab.org, open it on your phone and allow installation from unknown sources. Android 8.0 or newer.

First launch walks you through the notification, exact-alarm and battery-optimisation permissions. Granting them is what lets a reminder ring on time while the app is closed — each one is scheduled as a local alarm, so it does not depend on the app running.

Tech Stack

  • Language: Kotlin
  • Platform: Android SDK (minSdk 26 / targetSdk 36), edge-to-edge
  • UI: Jetpack Compose, Material 3
  • Networking: OkHttp + kotlinx-serialization
  • Background: AlarmManager, WorkManager, Firebase Messaging (FCM)
  • CI/CD: GitHub Actions

Website

The landing page at secretary.shuttlelab.org is built from ShuttleLab/secretary-shuttle.

License

AGPL-3.0-only — © ShuttleLab. You may use, study, modify and redistribute this app under its terms; derivative works must stay under the same licence.

Built by ShuttleLab

About

Android client for Secretary — todos, reminders and chat in your pocket. Speak to the assistant, get tasks scheduled, receive push reminders.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages