Home
Softono
Habo

Habo

Open source Dart
1.3K
Stars
156
Forks
25
Issues
13
Watchers
1 month
Last Commit

About Habo

<div align="center"> <img src="https://habo.space/images/logo.svg" alt="Habo Logo" height="80" /> # Habo **Simple, open-source habit tracker for Android & iOS** [![Stars](https://img.shields.io/github/stars/xpavle00/Habo?style=flat-square&color=FFD700)](https://github.com/xpavle00/Habo/stargazers) [![Forks](https://img.shields.io/github/forks/xpavle00/Habo?style=flat-square)](https://github.com/xpavle00/Habo/network/members) [![Issues](https://img.shields.io/github/issues/xpavle00/Habo?style=flat-square)](https://github.com/xpavle00/Habo/issues) [![License](https://img.shields.io/badge/license-GPL--3.0-blue?style=flat-square)](LICENSE) [![Flutter](https://img.shields.io/badge/Flutter-3.x-02569B?style=flat-square&logo=flutter)](https://flutter.dev) [![Weblate](https://img.shields.io/badge/translations-Weblate-brightgreen?style=flat-square)](https://hosted.weblate.org/projects/habo/) <br/> [<img src="https://habo.space/images/googleplay_badge_hu_edf4094967c7bf97.webp" height="50" alt="Get it on Google Pla ...

Platforms

Web Self-hosted iOS Android

Languages

Dart
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