Skip to content

aarshps/pathivu-android

Repository files navigation

Pathivu — Habit Tracker

Pathivu (Malayalam പതിവ് — "habit / routine") is a modern, high-performance Android habit tracker from the Hora family. It is built with the same Material 3 Expressive (M3E) design language as Varisankya: dynamic colours, Google Sans Flex, heavily rounded surfaces, tactile haptics, and a completely toast-free, fluid experience.

✨ Key Features

  • Build or quit habits — daily, specific weekdays, "X times per week", or "X days per month"; plus quit habits (bad addictions) tracked by clean-day streaks and a daily score (done − slips).
  • Satisfying check-off — a spring-animated, haptic tap to mark a habit done for the day.
  • Streaks & momentum — current streak (🔥), longest streak, and a per-habit week-dot strip.
  • Today hero — an expressive circular progress ring showing how many habits are done today.
  • 16-week heatmap — a GitHub-style contribution grid of your consistency, in the Stats screen.
  • Daily reminders — one tidy daily notification listing the habits still due as a bullet list; tap it to open the app. Timezone-aware (chained one-shot worker anchored to local wall-clock).
  • Edit any day — a calendar Day editor to back-fill or correct completions on past dates (including archived habits' history).
  • Reorder & archive — long-press drag to reorder habits; deleting a habit archives it (history kept) with restore or permanent-delete from Settings.
  • Material You — the whole UI themes to your wallpaper on Android 12+.
  • Private & synced — Google Sign-In + Cloud Firestore, scoped strictly per user.
  • Expressive icon — adaptive launcher icon rendering പതി (pa + thi) in Malayalam, matching the Hora family identity.

🛠 Technical Specifications

  • Platform: Android 15+ (Min API 35, Target API 36)
  • Language: 100% Kotlin
  • UI: Material Components 1.14.0-alpha08 (Material 3 Expressive), View system + ViewBinding
  • Architecture: MVVM with a clean loading policy (shimmer skeleton + reveal)
  • Backend: Firebase (Auth + Firestore + Analytics), project hora-pathivu
  • Reminders: WorkManager (chained OneTimeWorkRequest)

📦 Build

./gradlew :app:assembleDebug      # debug APK
./gradlew :app:assembleRelease    # signed release APK
./gradlew :app:bundleRelease      # signed release AAB (Play)

⚙️ Setup

  1. Retrieve build secrets securely from Bitwarden:
    ./retrieve_secrets.sh
    This injects app/google-services.json, the pathivu-upload-key keystore, app/play_console_key.json, and the signing credentials into local.properties.
  2. Build: ./gradlew assembleDebug.

See PUBLISHING_SECRETS_RECOVERY.md and CLI_RELEASE_GUIDE.md.

📜 License

MIT.

About

Pathivu — a Material 3 Expressive Android habit tracker (Hora family). പതിവ്.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors