A privacy-first, local-first habit tracker for iOS and Android, built with Flutter.
All data lives on your device. No analytics, no server-side data collection, no accounts required. Optional encrypted backup to your own Google Drive or iCloud, or a manual local backup file.
iOS (App Store): https://apps.apple.com/ba/app/habitt-private-habit-tracker/id6745617462 Android (Google Play): https://play.google.com/store/apps/details?id=com.shellz.habitt&hl=en
Habit tracking (duh)
Insights & stats
Premade templates Quick-start habits: wake up early, go to bed early, brush teeth, skin care, shower, drink water, gym, running, walking, nutrition, medications, studying, reading, work, research and productivity sessions.
Reminders
Appearance
Backup
Localization English, German, Spanish, Italian, Bosnian
Future features
Currently worked on (0): (0) Apple Health and Health Connect integrations:
(1) Habit goals:
(2) Show habit next day if missed
(3) Daily planner:
(4) More notification personalizations:
(5) Premade habit benefits:
(6) Habits from onboarding:
Other features:
| Layer | Technology |
|---|---|
| Framework | Flutter / Dart 3.7+ |
| State management | Provider (ChangeNotifier) |
| Local storage | Hive CE |
| Notifications | Awesome Notifications |
| Charts | fl_chart |
| Backup storage | Google Drive API, iCloud (icloud_storage) |
| Auth (backup only) | Firebase Auth + Google Sign-In |
| Subscriptions | RevenueCat |
| Encryption | cryptography package (AES-256-GCM) |
| Secure storage | flutter_secure_storage (platform keychain) |
lib/firebase_options.dart must be presentflutter pub get
flutter run
After modifying any Hive model (@HiveType / @HiveField), localization files (.arb), or asset lists, regenerate the derived files:
flutter pub run build_runner build --delete-conflicting-outputs
Watch mode during active development:
flutter pub run build_runner watch
lib/
├── models/ # Hive data models (Habit, Day, Category, …)
├── providers/ # ChangeNotifier state providers
├── services/ # Business logic (backup, billing, notifications, colors)
├── pages/ # Screens
│ ├── main_pages/ # Home, Habits, Calendar, Profile, Settings
│ ├── onboarding/ # First-run flow
│ └── other_pages/ # Add/edit habit, backup, notifications, paywall, …
├── widgets/ # UI components organized by feature
├── util/ # Helpers and utilities
├── l10n/ # ARB localization files
└── generated/ # Auto-generated assets and l10n — do not edit
StatsProvider
└── HabitProvider ◄──► HabitStatsProvider
└── CategoryProvider
└── BackupProvider
# Analyze / lint
flutter analyze
# Run tests
flutter test
# Run a single test file
flutter test test/services/habit_strength_insight_text_service_test.dart
# Build
flutter build apk --release # Android
flutter build ios --release # iOS
flutter build web # Web
| Platform | Details |
|---|---|
| Android | Min SDK 21, Target SDK 35, Compile SDK 36, Kotlin 2.3.0, Gradle 8.9.1 |
| iOS | Deployment target iOS 15.6+, CocoaPods |
| Web | Supported; splash screen disabled |
Android release builds require a keystore referenced in android/app/build.gradle.kts.
Do not edit these directly — they are overwritten by build_runner:
lib/hive/hive_adapters.g.dartlib/hive/hive_registrar.g.dartlib/generated/ (entire directory)*.g.dart fileThis project has been worked on since 2024, well before AI coding became good. The project structure, design, and app logic are all done by me (Shellz), not generated from scratch by AI. This is not a vibecoded app.
Claude is now used throughout this project only as a helper, not being the one doing everything. The focus areas are:
All AI-generated code is and will always be reviewed and tested by me before being shipped.
This project is licensed under the Business Source License 1.1 (BSL 1.1).
| Document | Link |
|---|---|
| Privacy Policy | ashellz.github.io/habitt_v2/privacy |
| Terms of Service | ashellz.github.io/habitt_v2/tos |
Privacy at a glance: Habitt does not collect your habit data. Everything stays on your device. If you enable Google Drive sync, data is encrypted on-device before transfer — we cannot read it. No analytics, no ads. See the full Privacy Policy for details.
Terms at a glance: You own your data; we own the app code. Subscriptions are voluntary support payments and currently do not unlock additional features. The app is provided “as is” — always maintain your own backups. See the full Terms of Service for details.
For inquiries: ibrsboy32@proton.me