🍽️ 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

  1. Robust Sync Engine
    Built a production-ready sync system that handles offline scenarios, conflicts, and migrations seamlessly.

  2. AI-Powered Extraction
    Achieved 85%+ accuracy in recipe extraction across diverse video formats.

  3. Comprehensive Test Coverage
    Wrote 150+ unit and integration tests covering critical paths and edge cases.

  4. Clean Architecture
    Maintained strict separation of concerns with feature-based modules and dependency injection.

  5. Performance Optimization
    App launches in under 2 seconds and handles 1000+ recipes without lag.

🎨 User Experience Wins

  1. Seamless Onboarding
    Users can start cooking in under 30 seconds without creating an account.

  2. Intuitive Cook Mode
    Distraction-free interface with large text and easy navigation for kitchen use.

  3. Smart Grocery Lists
    Automatically consolidates ingredients and eliminates duplicates.

  4. Responsive Design
    Works beautifully on phones, tablets, and web with adaptive layouts.

🔒 Privacy & Security

  1. Privacy-First Design
    Full functionality available without sign-in or data collection.

  2. Secure Authentication
    Firebase Auth with industry-standard OAuth and anonymous mode.

  3. 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

  1. Simplicity First
    Every feature must justify its existence. If it doesn't make cooking easier, it doesn't belong.

  2. Offline-First
    The app should work perfectly without internet. Cloud sync is a bonus, not a requirement.

  3. Privacy-Respecting
    Users own their data. We collect only what's necessary and provide full control.

  4. Accessible to All
    Cooking should be accessible regardless of skill level, device, or ability.

  5. 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


**Made with ❤️ and 🍳 by the NextMeal Team** *Transforming the way the world cooks, one recipe at a time.*

Built With

Share this project:

Updates