✨ Major Features: - Dark mode toggle with app-wide theme switching - Sort inventory by Expiration Date, Name, or Location - Toggle between Grid and List view for inventory - Export inventory data to CSV with share functionality - Custom sage leaf app icon with adaptive icon support 🔄 FOSS Compliance (F-Droid Ready): - Replaced Firebase with Supabase (open-source backend) - Anonymous authentication (no user accounts required) - Cloud-first with hosted Supabase as default - Optional self-hosting support - 100% FOSS-compliant dependencies 🎨 UI/UX Improvements: - Dynamic version display from package.json (was hardcoded) - Added edit buttons for household and user names - Removed non-functional search button - Replaced Recipes placeholder with Settings button - Improved settings organization with clear sections 📦 Dependencies: Added: - supabase_flutter: ^2.8.4 (FOSS backend sync) - package_info_plus: ^8.1.0 (dynamic version) - csv: ^6.0.0 (data export) - share_plus: ^10.1.2 (file sharing) - image: ^4.5.4 (dev, icon generation) Removed: - firebase_core (replaced with Supabase) - cloud_firestore (replaced with Supabase) 🗑️ Cleanup: - Removed Firebase setup files and google-services.json - Removed unimplemented features (Recipes, Search) - Removed firebase_household_service.dart - Removed inventory_sync_service.dart (replaced with Supabase) 📄 New Files: - lib/features/household/services/supabase_household_service.dart - web/privacy-policy.html (Play Store requirement) - web/terms-of-service.html (Play Store requirement) - PLAY_STORE_LISTING.md (marketing copy) - tool/generate_icons.dart (icon generation script) - assets/icon/sage_leaf.png (1024x1024) - assets/icon/sage_leaf_foreground.png (adaptive icon) 🐛 Bug Fixes: - Fixed version display showing hardcoded "1.0.0" - Fixed Sort By and Default View showing static text - Fixed ConsumerWidget build signatures - Fixed Location.displayName import issues - Added clearAllData method to Hive database 📊 Stats: +1,728 additions, -756 deletions across 42 files 🤖 Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
🌿 Sage - Smart Kitchen Management
A beautiful Flutter app for tracking your kitchen inventory and reducing food waste.
Features
✅ Smart Inventory Management
- Barcode scanning for quick item entry
- Auto-populated product information from multiple databases
- Smart expiration date predictions based on food category
- Visual expiration status indicators
✅ Modern UI
- Clean, intuitive Material Design 3 interface
- Sage green theme
- Custom sage leaf vector icon
- Smooth animations and transitions
✅ Notifications
- Local expiration alerts
- Discord webhook integration for remote notifications
- Customizable alert settings (persisted!)
✅ Local-First Data
- All data stored locally using Hive
- No cloud dependencies
- Privacy-focused design
- Fast and offline-capable
Tech Stack
- Framework: Flutter 3.35.5
- State Management: Riverpod 2.6.1
- Database: Hive 2.2.3 (local)
- Barcode Scanning: mobile_scanner 5.2.3
- API Integration: Open Food Facts, UPCItemDB
- Platform: Android (iOS coming soon)
Getting Started
Prerequisites
- Flutter 3.x installed
- Android Studio or VS Code
- Android SDK (for mobile) or Visual Studio (for Windows desktop)
Setup
- Clone the repository
- Install dependencies:
flutter pub get
- Run the app:
# On Android device/emulator
flutter run
# On Windows (for development)
flutter run -d windows
Project Structure
sage/
├── lib/
│ ├── core/ # Core utilities, constants, extensions
│ ├── features/ # Feature modules (inventory, recipes, etc.)
│ ├── services/ # Business logic services
│ ├── data/ # Data layer (local + remote)
│ └── shared/ # Shared widgets and providers
├── assets/ # Images, icons, fonts
└── test/ # Tests
Documentation
- PLAN.md - Development roadmap and current status
- SAGE_PROJECT.md - Complete project documentation
- PROJECT_STRUCTURE.md - Detailed architecture guide
- CLAUDE.md - AI assistant personality template
Roadmap
- Phase 1: Foundation - Basic inventory tracker ⏳ IN PROGRESS
- Phase 2: Barcode scanning with Open Food Facts
- Phase 3: Smart alerts & notifications
- Phase 4: Recipe management
- Phase 5: Shopping lists
- Phase 6: Multi-user & cloud sync
- Phase 7: Advanced features & polish
Author
Danielle Sapelli
- Built with ❤️ using Flutter & Claude Code
Contributing
Ideas and suggestions are welcome!
License
TBD
🌿 Making kitchens smarter, one scan at a time!
Description
Languages
HTML
45.6%
Dart
39.1%
C++
7.9%
CMake
6.1%
Swift
0.8%
Other
0.4%