Habo

May 6, 2026 · View on GitHub

Habo Logo

Habo

Simple, open-source habit tracker for Android & iOS

Stars Forks Issues License Flutter Weblate


Get it on Google Play   Download on the App Store   Get it on IzzyOnDroid

⭐ 4.9/5 on iOS  ·  ⭐ 4.6/5 on Google Play


Frame 32

What is Habo?

Habo is a fast, minimalist habit tracker that respects your privacy. No accounts required. No data harvesting. No clutter, just a clean, focused tool for building routines that stick.

Habo 4.0 ships cross-device sync with end-to-end encryption, automatic encrypted backups, and full self-hosting support. Your habit data is yours, always.


Features

☁️ Habo Sync: E2E Encrypted, Zero-Knowledge

Your data is encrypted on your device before it ever leaves it. The server sees only ciphertext: we cannot read your habits, notes, or streaks. Not even if we wanted to.

  • Data encrypted locally with your Master Password before upload
  • Zero-knowledge architecture: no plaintext ever touches the server
  • Device-generated encryption keys
  • Automatic encrypted backups: switch phones without losing your history
  • Self-hostable: run your own Supabase backend, free forever

📱 Core Tracking

  • Multiple completion types: yes/no, numeric, skip (doesn't break streaks)
  • Notes & comments: add context to each check-in
  • Smart reminders: gentle nudges at the right time
  • Calendar view: see streaks and completions on a monthly grid
  • Statistics: streaks, trends, and completions over time

🎨 Personalization

  • Dark, Light, and OLED themes
  • Material You support (Android)
  • Custom button colors
  • Drag-and-drop habit reordering
  • Categories to group habits by theme

🔒 Privacy & Control

  • Offline first: everything works without an internet connection
  • Biometric lock: Face ID, Touch ID, or passcode
  • Export & backup: own your data, always
  • Archive: pause habits without losing history
  • URL scheme: deep-link into Habo from Shortcuts and other apps
  • Open source: GPL-3.0 licensed, auditable, forkable

🌍 Translations

Community-contributed translations via Weblate. Want to help bring Habo to your language? Contributions are welcome: no coding required.


Self-Hosting

Habo Sync can run on your own Supabase backend. All sync features are available without a subscription.

Self-hosting is free, forever.

Prerequisites

  • A Supabase account: the free tier is enough
  • Node.js (for the Supabase CLI via npx)

Setup

# 1. Clone the repo
git clone https://github.com/xpavle00/Habo.git
cd Habo

# 2. Link to your Supabase project
npx supabase link --project-ref <your-project-ref>

# 3. Apply database migrations
npx supabase db push

# 4. Deploy the edge function
npx supabase functions deploy delete-account

Then in the Habo app: Settings → Server, paste your Supabase Project URL and anon key, and tap Test Connection & Save.

→ Full details and troubleshooting in supabase/README.md


Building from Source

Requirements

  • Flutter 3.x
  • Dart SDK (bundled with Flutter)
  • Android Studio or Xcode for device targets
git clone https://github.com/xpavle00/Habo.git
cd Habo
flutter pub get
flutter run

Contributing

Contributions are welcome and appreciated. Here's how to help:

  • Bug reports & feature requestsOpen an issue
  • Code contributions → Fork, branch, PR: please open an issue first for large changes
  • Translations → Join the project on Weblate - no coding required

Please read CONTRIBUTING.md before submitting a pull request.


Support the Project

Habo is a one-person project built in the open. If it's useful to you, consider supporting its development:

  • ⭐ Star the repo: it helps others find the project
  • Buy me a coffee
  • 💬 Leave a review on the App Store or Google Play
  • 🌐 Subscribe to Habo Sync: hosted sync funds continued development

License

Habo is released under the GNU General Public License v3.0.


habo.space  ·  Privacy Policy  ·  Sync

Made with ❤️ by Peter Pavlenko