"One pebble a day, a mountain someday."
Pebl is a minimalist habit tracker designed to help you build consistent routines one habit at a time. With its clean interface and delightful animations, staying motivated has never been easier.
🔥 Daily Habit Tracking – Check off habits and watch your streaks grow
📊 Heatmap Calendar – Visualize habit completion with a clean calendar view
🎯 Group Organization – Organize habits into color-coded groups for clarity
🎉 Streak Rewards – Confetti animations and streak badges celebrate consistency
🎨 Custom Themes – Pick from hand-curated colors for each group
⚡ Smooth UX – Blurred glass dialogs and haptic feedback for a delightful experience
💾 Offline-first – All data stored locally using Hive
The app uses Hive for local data storage with a simple yet effective structure:
┌────────────────────┐ ┌──────────────────────┐
│ HabitGroup (Box) │ │ Habit (Box) │
└────────────────────┘ └──────────────────────┘
│ │
│ │
┌────────────────────┐ ┌────────────────────────────┐
│ id: String (UUID) │ │ id: String (UUID) │
│ name: String │ │ name: String │
│ colorValue: int │ │ completedDates: List<Date> │
└────────────────────┘ │ groupId: String (UUID) │
└────────────────────────────┘
- Flutter SDK (latest stable version)
- Dart SDK
- Android Studio / VS Code with Flutter extensions
-
Clone the repository
git clone https://github.com/yourusername/pebl.git cd pebl -
Install dependencies
flutter pub get
-
Generate Hive Adapters
flutter packages pub run build_runner build --delete-conflicting-outputs
-
Run the app
flutter run
| Technology | Purpose |
|---|---|
| Flutter | Cross-platform UI toolkit |
| Dart | Programming language |
| Hive | Lightweight local database |
| Provider | State management |
| Font Awesome | Icons |
| Flutter Confetti | Rewarding animations |
Screenshots coming soon! Feel free to contribute by adding them.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Flutter team for the amazing framework
- Hive contributors for the excellent local database solution
- All contributors who help make Pebl better
Made with ❤️ and Flutter
⭐ Star this repo if you found it helpful!