Streaks: A beautiful, privacy-first, completely offline habit tracker built with Flutter.
๐ฏ About The Project
Streaks is a minimalist mobile application designed to help you build and maintain daily routines without compromising your data privacy.
Unlike most modern tracking applications, Streaks operates 100% offline. There are no cloud servers, no forced accounts, no analytics, and no hidden trackers. All your habits, streaks, and progress data are securely stored directly on your device using an encrypted local database.
โจ Key Features
- Total Privacy: Everything lives on your device. No internet connection is ever required.
- Customizable Habits: Create routines with custom names, daily schedules, start dates, and select from dozens of native emojis as your habit icon.
- Dynamic Re-ordering: Customize your dashboard hierarchy by simply dragging and dropping habits in the โAll Habitsโ screen.
- Smart Dashboard: Automatically filters and sorts your daily routine based on your chosen schedule and start dates.
- Completion History: True daily tracking. Mark habits as done for specific days without messing up your past or future schedules.
- Local Reminders: Schedule robust, on-device push notifications so you never miss a routine.
- Data Portability: Easily export and import your entire profile and habit history as a raw
.streaks JSON backup file.
๐ Getting Started
Prerequisites
- Flutter SDK (v3.12.2 or higher)
- Android Studio / Xcode for deployment
Installation
- Clone the repository:
git clone https://github.com/yourusername/streaks.git
- Navigate to the project directory:
- Get the required dependencies:
- Generate the adaptive app icons (for Android 8.0+):
flutter pub run flutter_launcher_icons
- Run the app:
๐ Privacy Policy
Because this app handles your personal daily habits, we take privacy incredibly seriously. You can review our full Privacy Policy to understand exactly how your data is kept secure on your local device.
๐ Tech Stack
- Framework: Flutter
- Local Database: Hive (
hive_flutter)
- Notifications:
flutter_local_notifications
- File Management:
file_picker & path_provider