An AI-powered nutrition and diet coaching mobile application built with React Native and Expo. NutriGuide helps users maintain a healthy lifestyle through personalized diet guidance, meal planning, and progress tracking.
- ๐ค AI-Powered Nutrition Coach: Get personalized nutrition advice powered by Google Gemini AI
- ๐ธ Food Recognition: Scan food with your camera for instant calorie and nutrition analysis
- ๐ BMI Tracking: Calculate and monitor your Body Mass Index with personalized recommendations
- ๐ฝ๏ธ Smart Food Tracking: Log your meals and track daily calorie intake
- ๐ Progress Monitoring: Track weight history and get AI-powered progress insights
- ๐ก Personalized Meal Plans: Receive customized meal suggestions based on your goals
- ๐ Healthier Alternatives: Get AI suggestions for healthier food alternatives
- ๐ฌ Interactive AI Chat: Ask nutrition questions and get expert guidance anytime
- ๐ฑ Beautiful UI: Modern, clean interface with green theme and smooth navigation
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI
- Android device or emulator / iOS device or simulator
- Google Gemini API key
- Clone the repository:
git clone https://github.com/NextGenXplorer/NutriGuide.git
cd NutriGuide- Install dependencies:
npm install- Create a
.envfile in the root directory:
GEMINI_API_KEY=your_gemini_api_key_here- Start the development server:
npm start- Scan the QR code with Expo Go app (Android/iOS) or run on emulator:
npm run android # For Android
npm run ios # For iOS- Visit Google AI Studio
- Sign in with your Google account
- Create a new API key
- Copy the key and add it to your
.envfile
- Daily calorie goals and progress tracking
- AI-powered personalized motivation
- BMI analysis with health recommendations
- Macro distribution (Carbs, Protein, Fats)
- Today's meal plan suggestions
- Manual food entry with calorie input
- Camera integration for food scanning
- AI-powered food recognition
- Get healthier alternatives suggestions
- Daily nutrition summary
- Current weight and BMI display
- Weight trend analysis
- 7-day weight history
- AI progress analysis with markdown insights
- Goal-based progress tips
- Interactive nutrition coaching
- Context-aware conversations
- Markdown-formatted responses
- Quick question suggestions
- Personalized health advice
- App information and features
- NextGenXplorer branding
- Social media links
- Contact information
- Framework: React Native with Expo
- Language: TypeScript
- Navigation: React Navigation (Stack & Bottom Tabs)
- Storage: AsyncStorage for local data persistence
- AI Integration: Google Generative AI (Gemini 2.0 Flash)
- Camera: Expo Camera & Image Picker
- Markdown: react-native-markdown-display
- Icons: @expo/vector-icons (Ionicons)
NutriGuide/
โโโ src/
โ โโโ navigation/
โ โ โโโ AppNavigator.tsx # Navigation setup
โ โโโ screens/
โ โ โโโ OnboardingScreen.tsx # User profile setup
โ โ โโโ HomeScreen.tsx # Dashboard with BMI & meal plans
โ โ โโโ FoodTrackingScreen.tsx # Food logging & tracking
โ โ โโโ ProgressScreen.tsx # Weight & progress tracking
โ โ โโโ AIChatScreen.tsx # AI nutrition coach chat
โ โ โโโ AboutScreen.tsx # App info & credits
โ โโโ services/
โ โ โโโ geminiService.ts # AI integration
โ โ โโโ storage.ts # AsyncStorage utilities
โ โโโ utils/
โ โ โโโ bmiCalculator.ts # BMI calculations
โ โ โโโ mealPlanner.ts # Meal planning logic
โ โโโ types/
โ โโโ index.ts # TypeScript interfaces
โ โโโ env.d.ts # Environment types
โโโ assets/ # App icons and images
โโโ .env # Environment variables (not in repo)
โโโ app.json # Expo configuration
โโโ package.json # Dependencies
โโโ tsconfig.json # TypeScript config
- Enter your name, age, height, and weight
- Select gender, activity level, and fitness goal
- Choose dietary preferences (Vegetarian/Non-Vegetarian/Vegan)
- Get personalized BMI analysis and calorie goals
- Track Your Food: Log meals manually or scan with camera
- Monitor Progress: Check your daily calorie consumption
- Get AI Insights: Receive personalized nutrition tips
- Update Weight: Log weight changes to track progress
- Chat with AI: Ask nutrition questions anytime
NutriGuide uses the Mifflin-St Jeor Equation for accurate calorie calculation:
For Men:
BMR = (10 ร weight in kg) + (6.25 ร height in cm) - (5 ร age) + 5
For Women:
BMR = (10 ร weight in kg) + (6.25 ร height in cm) - (5 ร age) - 161
Daily calorie needs are adjusted based on:
- Activity level (sedentary to very active)
- Fitness goals (lose/maintain/gain weight)
- Daily Motivation: Personalized motivational messages based on your progress
- Meal Suggestions: AI-generated meal ideas tailored to your diet and goals
- Food Recognition: Scan food images to get instant nutritional information
- Progress Analysis: Weekly insights with trends and recommendations
- Healthier Alternatives: Get suggestions for healthier food swaps
- Interactive Chat: Ask any nutrition-related questions
- All data is stored locally on your device using AsyncStorage
- No user data is sent to external servers except:
- Food images sent to Gemini API for recognition
- Chat messages sent to Gemini API for responses
- Your Gemini API key is stored securely in environment variables
- Color Scheme: Green theme (#27ae60) representing health and vitality
- Typography: Clean, modern fonts for excellent readability
- Icons: Ionicons for consistent visual language
- Layout: Card-based UI with smooth navigation
- Branding: Circular app logo on all screen headers
This project is open source and available under the MIT License.
Developed by: NextGenXplorer
Connect with us:
- GitHub: NextGenXplorer
- Instagram: @nexgenxplorerr
- WhatsApp: Join Channel
- Email: nxgextra@gmail.com
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
Give a โญ๏ธ if this project helped you!
- Multi-language support
- Recipe suggestions with cooking instructions
- Water intake tracking
- Exercise logging and calorie burn tracking
- Social features (share progress with friends)
- Meal photo gallery
- Export data to PDF/CSV
- Integration with fitness trackers
- Barcode scanning for packaged foods
- Grocery list generator
Built with โค๏ธ using React Native, Expo, and Google Gemini AI
๐ค Generated with Claude Code