NutriChoice
Overview
Many people struggle to understand what they are eating — especially when dining out.
Nutritional information is often missing, confusing, or inconvenient to check manually.
This can lead to overeating, unbalanced diets, or missed health goals.
NutriChoice is a mobile app built with React Native (Expo) that helps users make healthier food choices.
Simply point your camera at a dish, and the app uses an AI model to recognize the food and instantly display its nutritional values — including calories, proteins, fats, and carbohydrates — powered by a custom dataset.
Motivation
The idea came from a common problem: not knowing what exactly we eat, especially at restaurants or cafeterias.
I wanted to create something simple yet impactful — where AI bridges the gap between food recognition and informed dietary decisions.
How It Works
- Frontend: Built with React Native (Expo) for a seamless cross-platform experience.
- AI Model: A TensorFlow/Keras model (converted to TensorFlow.js) classifies food images into categories.
- Dataset: Combined public food datasets with a custom
dish.jsonmapping that links dishes to nutritional information. - Integration: Captured images from the camera/gallery are converted into tensors, processed by the model, and the top prediction is mapped to its nutrition profile.
Model Performance & Limitations
This is an early version of the model, trained on fewer than 400 images.
Current validation accuracy is around 64%, so misclassifications can occur.
Future updates will focus on:
- Expanding the dataset for better generalization.
- Improving accuracy through more training epochs and model tuning.
- Optimizing performance for real-time mobile inference.
Key Learnings
- Integrated a machine learning model into a mobile app using Expo + TensorFlow.js.
- Understood the importance of curating clean, balanced datasets for classification tasks.
- Designed a smooth user flow that translates AI predictions into actionable insights.
Challenges
- Model Size & Performance: Mobile devices have limited resources, so optimizing the TensorFlow.js model was challenging.
- Dataset Curation: Many public datasets lacked consistent nutrition info, so I manually created a mapping.
- Testing & Compatibility: Ensuring consistent performance across Android devices with Expo.
Future Improvements
- Expand food recognition to include more dishes and regional cuisines.
- Add AI-based portion size estimation.
- Personalize recommendations based on user diet goals and history.
- Integrate with wearables/fitness apps for a complete health ecosystem.
- Add data visualization for nutrition trends and multi-language support.
- Improve UI/UX with smooth animations and transitions.
License
This project is licensed under the MIT License.
Built With
- colab
- expo.io
- node.js
- notebbok
- react-native
- tensorflow
Log in or sign up for Devpost to join the conversation.