80
NutriScan — AI-Powered Indian Food Nutrition Bot
NutriScan is an end-to-end AI system that helps users understand the nutritional value of Indian meals by simply uploading a food image on Telegram.
Instead of manually logging food items, users can take a photo of their meal, send it to the NutriScan Telegram bot, and instantly receive calorie and macro-nutrient information. The system is designed specifically for Indian cuisine, making it useful for home-cooked meals and regional dishes that are often missing from generic nutrition apps.
What NutriScan Does
Detects food items from images using computer vision
Recognizes 80+ Indian food dishes
Provides estimated nutritional information such as:
Calories
Protein
Carbohydrates
Fats
Fiber and key minerals
Works directly inside Telegram with no extra app or setup
How It Works (High Level)
The user uploads a food image to the Telegram bot
The backend processes the image using an AI model
Detected food items are mapped to nutrition data
A clean and readable nutrition summary is sent back to the user
All processing is automatic and requires no manual input.
Computer Vision (Food Detection)
NutriScan uses YOLOv8, a state-of-the-art object detection model, to identify food items from images.
Trained and fine-tuned on 4,000+ images of Indian food
Supports 80+ Indian food classes
Can detect multiple food items in a single image
Outputs bounding boxes and food labels (e.g., roti, dal, butter chicken)
The model was converted to ONNX format and runs efficiently in a Node.js backend using ONNX Runtime, allowing fast and production-ready inference.
Nutrition Intelligence
Once food items are detected, NutriScan retrieves nutrition data using the USDA FoodData Central API.
Maps detected foods to standardized nutrition entries
Extracts key nutritional values such as calories, macros, and minerals
Filters and simplifies technical nutrient names into user-friendly labels
Limits output to meaningful information to keep responses concise
Telegram Bot
Built using the Telegram Bot API with a webhook-based architecture
Users can start by sending a greeting or uploading an image
Shows real-time “typing” indicators while processing
Handles errors gracefully with clear, friendly messages
Responses are formatted to respect Telegram message limits
Use Cases
NutriScan is useful for:
Understanding what you’re eating
Tracking nutrition without manual food logging
Making healthier food choices
Analyzing Indian meals that are not well supported by global apps
Limitations & Future Improvements
NutriScan is under active development and not 100% accurate yet.
Some dishes may be misclassified due to visual similarity or image quality
Portion size estimation is not currently supported
Planned improvements include:
Portion size estimation
Multi-food plate analysis
Personalized dietary insights
Larger and more diverse food dataset
Expansion beyond Indian cuisine
If you liked this project, an upvote would mean a lot! Follow me for more projects like this.
Built with