A beautiful, intuitive Flutter app to manage your recurring bills and plan your finances with ease.
Features β’ Screenshots β’ Installation β’ Usage β’ Tech Stack β’ Architecture β’ Contributing
Bill Bucket is a modern, offline-first mobile application designed to help you effortlessly manage your recurring bills. Whether you're tracking weekly subscriptions, monthly utilities, or yearly insurance payments, Bill Bucket provides a clean, intuitive interface to keep your finances organized.
With smart calculations for monthly costs and recommended weekly transfers, you'll always know how much to set aside for your bills account. The app features beautiful custom theming, smooth animations, and a robust data persistence layer that works completely offline.
- π Bill Management: Add, edit, and delete recurring bills with ease
- π Smart Due Dates: Track next due dates with automatic calculations based on frequency
- π° Financial Insights:
- Calculate total monthly cost across all bills
- Get recommended weekly transfer amounts
- View upcoming bills in the next 14 days
- β Payment Tracking: Mark bills as paid and automatically calculate next due date
- π Undo Support: Easily undo payments or restore deleted bills
- π Theme Support: Beautiful light and dark themes with system preference detection
- π Custom Branding: Elegant typography using Baloo2 and Nunito fonts
- π± Responsive Design: Optimized for all screen sizes
- β‘ Smooth Animations: Polished interactions with haptic feedback
- π Smart Filtering: Filter bills by frequency or view overdue items
- π Visual Indicators: Color-coded overdue bills and intuitive icons
- π Offline-First: All data stored locally using Hive
- πͺ Persistent Storage: Your bills are saved securely on your device
- π Fast Performance: Instant load times with efficient data structures
- π State Management: Clean architecture with Provider pattern
- Flutter SDK: 3.9.2 or higher
- Dart SDK: 3.9.2 or higher
- Android Studio / VS Code with Flutter extensions
- Android SDK (for Android development)
- Xcode (for iOS development, macOS only)
-
Clone the repository
git clone https://github.com/Parth-Patel01/BillBucket.git cd BillBucket -
Install dependencies
flutter pub get
-
Generate Hive adapters (if needed)
flutter pub run build_runner build --delete-conflicting-outputs
-
Run the app
flutter run
Android:
flutter build apk --release
# or for App Bundle
flutter build appbundle --releaseiOS:
flutter build ios --release- Tap the + floating action button on the dashboard
- Enter the bill name (e.g., "Netflix Subscription")
- Enter the amount
- Select the frequency (Weekly, Fortnightly, Monthly, or Yearly)
- Choose the next due date
- Tap Add bill
- View Details: Tap any bill to see full information
- Mark as Paid: Open a bill and tap "Mark as paid today" to update the next due date
- Edit: Tap the edit button to modify bill details
- Delete: Swipe left on a bill or use the delete button in the detail screen
- Filter: Use the filter chips to view bills by frequency or overdue items
- Monthly Cost: See your total monthly bill expenses at a glance
- Weekly Transfer: Get a recommended weekly transfer amount to cover all bills
- Upcoming Bills: View bills due in the next 14 days
- Filter & Sort: Easily find bills by frequency or sort by due date
- Provider - State management solution
- Hive - Fast, lightweight NoSQL database
- Hive Flutter - Flutter integration for Hive
- UUID - Unique identifier generation
- Intl - Internationalization and formatting
- Package Info Plus - App metadata
- URL Launcher - External link handling
- Flutter Lints - Linting rules
- Build Runner - Code generation
- Hive Generator - Hive adapter generation
Bill Bucket follows a clean, maintainable architecture pattern:
lib/
βββ main.dart # App entry point
βββ models/ # Data models
β βββ bill.dart # Bill entity
β βββ app_settings.dart # App settings
βββ providers/ # State management
β βββ bill_provider.dart # Bill business logic
β βββ settings_provider.dart # Settings management
βββ screens/ # UI screens
β βββ dashboard_screen.dart
β βββ add_edit_bill_screen.dart
β βββ bill_detail_screen.dart
β βββ settings_screen.dart
βββ widgets/ # Reusable widgets
β βββ animated_press.dart
βββ utils/ # Utilities
β βββ bill_icons.dart # Icon mapping
β βββ formatters.dart # Formatting helpers
βββ theme/ # Theming
βββ app_theme.dart # Theme configuration
- Provider Pattern: Centralized state management
- Repository Pattern: Data access abstraction (via Hive)
- Immutable Models: Bill objects are immutable for safety
- Separation of Concerns: Clear boundaries between UI, logic, and data
The app supports three theme modes:
- System: Follows device theme preference
- Light: Custom light theme with brand colors
- Dark: Elegant dark theme
Theme preferences are persisted locally and sync across app restarts.
- Primary Navy:
#0B3C5D - Accent Blue:
#2D8CFF - Light Background:
#D7ECFF
- Headings: Baloo2 (Bold, SemiBold)
- Body Text: Nunito (Regular, SemiBold, Bold)
Contributions are welcome! Please feel free to submit a Pull Request. Here's how you can help:
- 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
- Follow the existing code style
- Add comments for complex logic
- Update documentation as needed
- Test your changes thoroughly
This project is licensed under the MIT License - see the LICENSE file for details.
Parth Patel
- Email: patel.parth2201@gmail.com
- GitHub: @Parth-Patel01
- Project Link: https://github.com/Parth-Patel01/BillBucket
- Flutter team for the amazing framework
- Hive developers for the excellent persistence solution
- All contributors and users of this project
https://parth-patel01.github.io/BillBucket/privacy-policy
Made with β€οΈ using Flutter
β Star this repo if you find it helpful!





