Skip to content

Repository files navigation

🧠 TaskMind

A private, 100% on-device assistant that reads your messages and turns them into action items —
without anything leaving your phone.

Latest release Platform: Android minSdk 35 Build On-device AI License: All Rights Reserved


🔒 Understanding runs on-device by default. A cloud model is strictly opt-in, data is encrypted at rest (SQLCipher), the app sits behind a biometric lock, and every byte that leaves the phone is auditable in Settings → Data Egress — which reads "No data has left this device" out of the box.

✨ What is TaskMind?

Your phone already knows what you need to do — it's buried in your SMS, notifications, call log, email, recordings, and screenshots. TaskMind watches the sources you choose, uses an on-device LLM to pull out the real action items, and shows each one as a card you approve, edit, or reject. Nothing is saved or scheduled until you say so.

It's built on one stubborn principle: your data stays on your phone. The whole understanding pipeline runs locally; the cloud is an explicit, logged opt-in you never have to touch.

⚡ What it does

📥 Capture Collected live, on a background scan, or on demand — a + quick-capture sheet (type or speak), a share-sheet target (text and images), a Quick Settings tile, a home-screen widget, and manual entry. Screenshots are read with on-device OCR; new voice/call recordings are transcribed the moment they land.
Review Each suggestion is a concise Inbox card: approve, edit, reject, or snooze; swipe to triage; undo the last action; filter by kind or source. Approving a dated item schedules a reminder + calendar event (prompting for a time if none was found). Rejecting a sender repeatedly down-ranks its future suggestions.
📞 Act One tap to Call — resolving a named contact ("call Amma") to a number via your Contacts — or Get directions to a place named in the message. Missed calls (cellular and WhatsApp/Telegram) become "Call back" suggestions. Both actions also live on the widget and the review notification.
🗂️ Keep Approved items live in Notes — Active/Completed split, completion checkboxes, tickable checklists, tappable deep links (phone/URL/email/address), kind filters, and full-text search.
Schedule Reminders can recur (daily/weekly/monthly — pulled from "every Monday" or set by hand) or fire by location (a geofence when you arrive at a saved place).

🔒 Private by design

Guarantee How
On-device understanding The extraction LLM (MediaPipe Gemma) runs locally; the cloud model (Gemini) is opt-in only.
Encrypted at rest The database is SQLCipher (AES-256); secrets live in EncryptedSharedPreferences.
Locked Biometric lock on launch and on every return to the app.
Auditable Every network egress is logged, metadata-only, in Data Egress — content never is.
Portable Move to a new phone with an encrypted, passphrase-sealed backup (AES-256-GCM, PBKDF2).

🧩 Sources

Every source is off by default and asks for its own permission when you turn it on.

💬 SMS 🔔 Notifications ☎️ Call log
👥 Contacts (for the Call button) 📅 Calendar 📊 App-usage digest
🎙️ Voice / call recordings (Vosk) 🖼️ Screenshots — OCR (Tesseract) 📧 Gmail (OAuth, read-only)

📱 Install

From your phone (over-the-air): open Releases, grab the latest taskmind-debug.apk, and open it to install (allow "install unknown apps"). A rolling debug-latest pre-release is kept current on every push to main.

Build from source:

# Build + install to a connected device in one step
.\gradlew.bat :apps:taskmind:installDebug

# …or build the APK and install it yourself
.\gradlew.bat :apps:taskmind:assembleDebug
adb install -r apps\taskmind\build\outputs\apk\debug\taskmind-debug.apk

Full setup — permissions, the on-device model files, and the optional MAPS_API_KEY — is in the TaskMind README.

🛠️ Built with

Kotlin · Jetpack Compose (Material 3) · Hilt · Room + SQLCipher · WorkManager · DataStore · MediaPipe Gemma (on-device LLM) · Vosk (speech) · Tesseract (OCR) · Gemini 2.5 Flash (opt-in cloud) · biometric + geofencing + calendar.

🧪 Quality

  • Automated tests — DAO & Room migrations, the extraction pipeline, approval + rejection learning, every ViewModel, receivers & workers, and JVM/Robolectric Compose UI tests for the redesigned screens. Unit tests + assembleDebug run on every PR.
  • Extraction evaltools/prompt_eval/ replays a 166-case, web-grounded golden set through the live prompt and reports a per-type confusion matrix, recall/precision, and field accuracy to EVAL_REPORT.md. Hardening the prompt against notification noise took cloud-model accuracy from 85% → 98% and noise rejection from 82% → 99%.
  • Manual QA — a 27-suite / 325-case functional test plan backs each release.

🗺️ Roadmap

  • Execute the full 325-case manual functional pass (device QA) and log defects.
  • Lift on-device (1B) model quality toward the cloud numbers.
  • Widen the eval's non-none coverage and add a fast smoke subset.

🏗️ Repo layout

A monorepo — each app is a self-contained Gradle module under apps/; shared code (when a second app needs it) goes under core/.

Android_apps/
├─ apps/taskmind/            # TaskMind — the app (see its README)
├─ tools/prompt_eval/        # extraction-accuracy harness + golden set
├─ gradle/libs.versions.toml # one version catalog for every module
└─ core/                     # shared library modules, added on demand

🔧 Build & CI

Workflow Runs on Trigger What it does
Android CI (android.yml) ubuntu-latest push / PR to main unit tests + assembleDebug, uploads the APK artifact
Publish debug APK (release-apk.yml) ubuntu-latest push to main + manual builds and publishes to the rolling debug-latest pre-release for over-the-air install
Install to phone (install-to-phone.yml) self-hosted manual installDebug over adb to a phone plugged into that runner

main is protected — changes land via PR. Secrets (keystores, API keys) and on-device model files (*.task / *.litertlm) are git-ignored and never committed.

📜 License

© 2026 SMK1705. All Rights Reserved. This software is published for viewing and reference only; no use, copying, modification, or distribution is permitted without prior written permission. See LICENSE.

About

TaskMind — a private, 100% on-device Android assistant that turns your messages into action items. Nothing leaves your phone.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages