🍽️ NextMeal
Your intelligent cooking companion that transforms recipe chaos into culinary confidence
💡 Inspiration
The kitchen should be a place of creativity and joy, not frustration and confusion. We've all been there: juggling multiple recipe tabs, losing track of ingredients, and struggling to follow cooking instructions while our hands are covered in flour.
The inspiration for NextMeal came from a simple observation: cooking is hard not because of the recipes themselves, but because of how we manage them. We envisioned an app that would:
- Eliminate the friction of recipe management
- Bring AI intelligence to your cooking experience
- Work seamlessly whether you're online or offline
- Respect your privacy while offering cloud sync when you need it
We wanted to build something that feels like having a personal sous chef in your pocket—one that remembers your preferences, answers your questions, and makes cooking accessible to everyone.
🎯 What It Does
NextMeal is a comprehensive recipe management platform that combines the power of AI with intuitive design to revolutionize your cooking experience.
Core Capabilities
🎥 Intelligent Recipe Extraction
- Paste any video link from YouTube, Instagram, or TikTok
- AI-powered extraction automatically pulls ingredients and instructions
- Smart parsing handles multiple formats and recipe structures
- Manual entry option for traditional recipes or personal creations
👨🍳 Interactive Cook Mode
- Step-by-step guidance with a distraction-free interface
- Ingredient checklist to track what you've added
- Progress tracking so you never lose your place
- Hands-free design optimized for kitchen use
🛒 Smart Grocery Lists
- Automatic consolidation of ingredients across multiple recipes
- Intelligent grouping by category
- Swipe-to-delete for quick list management
- Real-time sync across devices (for signed-in users)
💬 AI Recipe Assistant
- Ask questions about substitutions, techniques, or timing
- Get personalized suggestions based on your dietary preferences
- Modify recipes on the fly with AI guidance
- Context-aware responses that understand your cooking situation
🔐 Flexible Authentication
- Start as guest with full local functionality
- Upgrade to Google Sign-In for cloud sync
- Seamless account linking preserves all your data
- Privacy-first approach with anonymous mode
🌓 Beautiful Theming
- Light and dark modes for any environment
- Consistent design language across all screens
- Smooth animations and transitions
- Accessibility-focused interface
🛠️ How We Built It
Technology Stack
Frontend Framework
- Flutter for cross-platform development (iOS, Android, Web)
- Dart as the primary programming language
- Material Design 3 for modern UI components
State Management & Architecture
- Riverpod for reactive state management and dependency injection
- GoRouter for declarative navigation with auth-based redirects
- Clean Architecture with feature-based modular structure
Backend & Services
- Firebase Authentication for secure user management
- Firebase Analytics for usage insights and optimization
- Google Gemini AI for recipe extraction and chat functionality
- SQLite for local data persistence
- Firestore for cloud synchronization
Key Packages & Libraries
dependencies:
flutter_riverpod: ^2.4.0 # State management
go_router: ^12.0.0 # Navigation
sqflite: ^2.3.0 # Local database
firebase_auth: ^4.15.0 # Authentication
firebase_analytics: ^10.7.0 # Analytics
google_sign_in: ^6.1.5 # Google OAuth
google_generative_ai: ^0.2.0 # Gemini AI
shared_preferences: ^2.2.2 # Local storage
Architecture Highlights
Feature-Based Structure
lib/
├── core/ # Shared utilities
│ ├── database/ # SQLite helpers
│ ├── router/ # Navigation config
│ ├── sync/ # Cloud sync engine
│ ├── theme/ # Theming system
│ └── widgets/ # Reusable components
├── features/ # Feature modules
│ ├── add_recipe/ # Recipe extraction
│ ├── auth/ # Authentication
│ ├── cook_mode/ # Cooking interface
│ ├── grocery_list/ # Shopping lists
│ ├── home/ # Recipe library
│ └── recipe_detail/ # Recipe view & chat
└── services/ # Business logic
├── analytics/ # Event tracking
├── auth/ # Auth management
└── subscription/ # Feature gating
Sync Architecture
We built a sophisticated sync engine that handles:
- Conflict resolution with timestamp-based merging
- Offline-first design with queue-based sync
- Automatic retry with exponential backoff
- Migration service for guest-to-authenticated transitions
AI Integration
Our extraction pipeline uses:
- Multi-stage parsing with fallback chains
- JSON validation and error recovery
- Context-aware prompting for better accuracy
- Performance monitoring for optimization
🚧 Challenges We Ran Into
1. AI Extraction Reliability
Challenge: Video recipe formats vary wildly—some have structured descriptions, others have chaotic formatting.
Solution: Built a multi-stage extraction pipeline with:
- Primary extraction using Gemini AI
- Fallback parsers for common formats
- JSON validation and repair mechanisms
- Graceful degradation to manual entry
2. Offline-First Sync
Challenge: Users need the app to work without internet, but also want cloud sync when available.
Solution: Implemented a queue-based sync system that:
- Stores operations locally when offline
- Automatically syncs when connection returns
- Resolves conflicts using timestamp logic
- Provides visual feedback on sync status
3. Guest-to-Authenticated Migration
Challenge: Preserving user data when upgrading from guest to Google account.
Solution: Created a migration service that:
- Uploads all local data to Firestore
- Links anonymous account to Google account
- Maintains data integrity during transition
- Provides progress feedback to users
4. Usage Limit Tracking
Challenge: Implementing fair usage limits for free vs. pro tiers with daily resets.
Solution: Built a usage tracking service with:
- Lifetime counters for free tier
- Daily reset logic for pro tier (24-hour windows)
- Atomic operations to prevent race conditions
- Clear visual feedback on remaining usage
5. Cross-Platform Video Extraction
Challenge: Different video platforms (YouTube, Instagram, TikTok) have different metadata structures.
Solution: Developed platform-specific extractors with:
- URL pattern detection
- Platform-specific API calls
- Unified data model for all sources
- Fallback to generic extraction
🏆 Accomplishments That We're Proud Of
✨ Technical Achievements
Robust Sync Engine
Built a production-ready sync system that handles offline scenarios, conflicts, and migrations seamlessly.AI-Powered Extraction
Achieved 85%+ accuracy in recipe extraction across diverse video formats.Comprehensive Test Coverage
Wrote 150+ unit and integration tests covering critical paths and edge cases.Clean Architecture
Maintained strict separation of concerns with feature-based modules and dependency injection.Performance Optimization
App launches in under 2 seconds and handles 1000+ recipes without lag.
🎨 User Experience Wins
Seamless Onboarding
Users can start cooking in under 30 seconds without creating an account.Intuitive Cook Mode
Distraction-free interface with large text and easy navigation for kitchen use.Smart Grocery Lists
Automatically consolidates ingredients and eliminates duplicates.Responsive Design
Works beautifully on phones, tablets, and web with adaptive layouts.
🔒 Privacy & Security
Privacy-First Design
Full functionality available without sign-in or data collection.Secure Authentication
Firebase Auth with industry-standard OAuth and anonymous mode.Data Ownership
Users can export or delete their data at any time.
📚 What We Learned
Technical Lessons
1. AI Integration is an Art
Working with Gemini AI taught us that prompt engineering is crucial. We learned to:
- Provide clear, structured prompts
- Handle hallucinations and errors gracefully
- Validate AI outputs rigorously
- Build fallback mechanisms
2. Offline-First is Complex
Building a true offline-first app requires:
- Queue-based architectures for pending operations
- Conflict resolution strategies that users understand
- Visual feedback on sync status
- Extensive testing of edge cases
3. State Management Matters
Riverpod's dependency injection and reactive updates made complex state management elegant:
- Providers compose beautifully
- Testing becomes straightforward
- Code remains maintainable at scale
4. Testing Saves Time
Investing in comprehensive tests early paid dividends:
- Caught bugs before production
- Enabled confident refactoring
- Documented expected behavior
- Reduced debugging time
Design Lessons
1. Simplicity Wins
Users don't want complexity—they want to cook. We learned to:
- Remove unnecessary steps
- Provide sensible defaults
- Hide advanced features until needed
- Focus on the core workflow
2. Feedback is Essential
Every action needs immediate visual feedback:
- Loading states for async operations
- Success/error messages
- Progress indicators
- Sync status indicators
3. Accessibility Matters
Designing for accessibility improves the experience for everyone:
- Large touch targets for kitchen use
- High contrast for readability
- Clear typography
- Logical navigation flow
🚀 What's Next for NextMeal
Short-Term Goals (Next 3 Months)
🎤 Voice Control
- Hands-free navigation during cooking
- Voice commands for timers and steps
- Read-aloud instructions for accessibility
📱 Social Features
- Share recipes with friends and family
- Recipe collections and favorites
- Community ratings and reviews
🔔 Smart Notifications
- Cooking reminders based on meal planning
- Ingredient expiration alerts
- Recipe suggestions based on available ingredients
Medium-Term Goals (6-12 Months)
🍎 Nutrition Tracking
- Automatic calorie calculation
- Macro and micro nutrient breakdown
- Dietary restriction filtering
- Meal planning integration
🤖 Advanced AI Features
- Recipe generation from available ingredients
- Personalized recommendations based on taste preferences
- Cooking skill assessment and adaptive instructions
- Ingredient substitution suggestions
💳 Monetization
- RevenueCat integration for subscription management
- Pro tier features (already architected)
- Family sharing plans
- Lifetime purchase option
Long-Term Vision (1-2 Years)
🌍 Global Expansion
- Multi-language support (Spanish, French, German, etc.)
- Regional recipe databases
- Cultural cooking guides
- International ingredient databases
🏪 Grocery Integration
- Direct ordering from grocery delivery services
- Price comparison across stores
- Automatic coupon application
- Inventory management with smart home integration
📊 Analytics Dashboard
- Cooking statistics and achievements
- Cost tracking per recipe
- Time management insights
- Sustainability metrics (food waste reduction)
🎓 Educational Content
- Cooking technique videos
- Knife skills tutorials
- Ingredient guides
- Chef masterclasses
🎨 Design Philosophy
Principles
Simplicity First
Every feature must justify its existence. If it doesn't make cooking easier, it doesn't belong.Offline-First
The app should work perfectly without internet. Cloud sync is a bonus, not a requirement.Privacy-Respecting
Users own their data. We collect only what's necessary and provide full control.Accessible to All
Cooking should be accessible regardless of skill level, device, or ability.Delightful Interactions
Small animations and thoughtful feedback make the experience memorable.
Development Setup
# Clone the repository
git clone https://github.com/aankit-roy/NextMeal
# Install dependencies
flutter pub get
# Run tests
flutter test
# Run the app
flutter run
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Flutter Team for an amazing framework
- Firebase for robust backend services
- Google Gemini for powerful AI capabilities
- Riverpod Community for excellent state management
- Open Source Contributors whose packages made this possible
📞 Contact & Links
- GitHub: github.com/aankit-roy/NextMeal
- Email: aankit.roy54321@gmail.com
**Made with ❤️ and 🍳 by the NextMeal Team** *Transforming the way the world cooks, one recipe at a time.*
Built With
- api
- dart
- flutter
- gemini-api
- revenuecat
Log in or sign up for Devpost to join the conversation.