mhabit
Open-source Flutter habit tracker with smart scoring, WebDAV sync, local-first storage, privacy-focused design, and sup…
Table Habit
Track micro habits. Grow every day.
Table Habit is a free and open-source habit tracker that helps you build micro habits with a unique scoring system, rich growth charts, and cross-device WebDAV sync. Available on Android, iOS, macOS, Windows, and Linux — no ads, no account required. See the translation badge above for supported languages. Licensed under Apache 2.0.
✨ Specs — Free · Offline-first · WebDAV Sync
| Feature | Description |
|---|---|
| Price | Free — no ads, no in-app purchases |
| License | Apache 2.0 |
| Platforms | Android · iOS · macOS · Windows · Linux |
| Sync | WebDAV (Nextcloud, Koofr, self-hosted) |
| Languages | See the translation badge above for live count — Arabic, Chinese, Czech, French, German, Hebrew, Japanese, … |
| Offline-first | Fully functional without internet |
| Account | Not required — no sign-up, no telemetry |
| Tech Stack | Flutter · Dart · SQLite · Provider |
Why Table Habit?
-
📊 Smart Scoring — Not Just Streaks Quantifies your consistency beyond daily check-ins. Growth curves show your long-term progress with separate scoring models for "do" and "don't" habits.
-
🔄 WebDAV Sync — Own Your Data Sync seamlessly across devices via Nextcloud, Koofr, or self-hosted servers. Zero vendor lock-in and complete data privacy — your habit data always stays yours.
-
🎨 Deep Customization Per-habit custom colors with built-in swatches and a full color picker. Collapsible habit grouping with drag-and-drop reorder, plus Material 3 + Dynamic Color theming.
-
🔓 100% Open Source · Privacy First Apache 2.0 licensed. No ads, no telemetry, no account required. Native JSON import/export, Loop Habit Tracker migration, and fully functional offline.
-
🌍 Truly Global Community-driven translations via Weblate with full RTL support (Arabic, Hebrew, Persian). 18+ languages and growing.
-
🖥️ Cross-Platform Android, iOS, macOS, Windows, Linux. Available on Google Play, App Store, F-Droid, Flathub, and Microsoft Store.
🌍 Global & Cross-Platform
- 🌍 Truly Global: Community-driven translations via Weblate with full RTL support (Arabic, Hebrew, Persian). 18+ languages and growing.
- 🖥️ Cross-Platform: Android, iOS, macOS, Windows, Linux. Available on Google Play, App Store, F-Droid, Flathub, and Microsoft Store.
Installation
Quick Install (CLI)
# macOS — Homebrew brew tap FriesI23/brew-repo brew install table-habit # macOS — Mac App Store (via mas) mas install 6744886469 # Windows — Scoop scoop bucket add friesi23-bucket https://github.com/FriesI23/scoop-bucket scoop install friesi23-bucket/mhabit # Linux — Flatpak flatpak install flathub io.github.friesi23.mhabit
More options: AltStore · SideStore · IzzyOnDroid · Obtainium · TestFlight Beta
Full installation guide: Wiki – Installation
All Distribution Channels
| Platform | Stable Channels | Beta / Sideload |
|---|---|---|
| Android | Google Play · F-Droid · IzzyOnDroid | GitHub APK · Obtainium |
| iOS | App Store | TestFlight · AltStore · SideStore · GitHub IPA |
| macOS | App Store · Homebrew | TestFlight · GitHub DMG |
| Windows | Microsoft Store · Scoop | GitHub MSIX |
| Linux | Flathub | GitHub Flatpak |
Translation
Table Habit is available in many languages thanks to our amazing community translators on Weblate (see badge above for live count).
Help translate Table Habit into your language:
Join Weblate or submit a PR to
the weblate-translation branch.
Roadmap
| Status | Feature | Notes |
|---|---|---|
| ✅ | Custom Colors | Per-habit swatches + color picker (v1.25.1+164) |
| ✅ | Loop Habit Tracker Import | CSV import from Loop Habit Tracker (v1.25.7+172) |
| ✅ | Habit Groups | Drag-and-drop reorder, collapsible (v1.26.1+174) |
| 🟨 | Android Widget | In progress |
| 🟨 | iOS Widget | In progress |
| ⬜ | More Sync Backends | Beyond WebDAV — planned |
Contributing
Contributions make open source great! Here's how you can help:
- Code: Pick an open issue, follow the Flutter style guide, and open a PR.
- Documentation: Wiki pages live in
docs/wiki/— edit them and open a PR. CI auto-syncs to the GitHub Wiki. - Translations: Join Weblate
or edit
.arbfiles inlib/l10n/. - Bug Reports: Open a GitHub Issue.
Development Quickstart
# Clone and bootstrap git clone https://github.com/FriesI23/mhabit.git cd mhabit make bootstrap # or: make init # Code generation (after changing l10n, colors, or annotations) make gen # Lint, fix, verify make aio # gen + fix + verify-generated make test # run all tests
See Build from Source on the wiki for platform-specific build instructions.
Support
Table Habit is a one-person indie project. If you find it useful, consider supporting its development:
Visit Donors to see everyone who has supported this project. Thank you!
License
Copyright 2023-2026 Fries_I23
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Made with ❤️ by Fries_I23 and contributors
more like this
DroidKlipp
Install and monitor KlipperScreen on Android via DroidKlipp APK, USB ADB forwarding, and WiFi fallback

