NutriAI is an AI-powered mobile application that provides personalized health risk predictions, BMI calculations, and nutrition recommendations using FastAPI, React Native (Expo), and Gemini AI APIs.
🎥 Watch the demo video: AI Drowning Detection System
Before getting started, ensure the following tools are installed on your system:
You can get the project files in two ways:
# Clone the repository using Git
git clone https://github.com/zseng0912/nutri-recommendation.git
# Navigate into the project folder
cd your-repo-name- 🔗 Visit the repository on GitHub
- ⬇️ Click on the green "Code" button
- Select "Download ZIP"
- 🗂️ Extract the ZIP file to your desired location
- 📂 Open the extracted folder in your preferred code editor
cd fastapi_backend
# Create a virtual environment
python -m venv <virtual_environment_name>
# Activate virtual environment (Windows)
<virtual_environment_name>\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Start FastAPI server
uvicorn main:app --host 0.0.0.0 --port 8000cd nutri
# Install Expo CLI
npm install expo
# Start the app
npx expo start
# Press "a" to launch Android emulator
# (Optional) Reset cache:
npx expo start -ccd geminiAPI
# Start Server
node app.jsTo enable communication between frontend and backend across your local network:
🔄 Replace all localhost URLs with your local IP address.
💡 You can find your IP address using:
- 🪟 Windows: Run
ipconfigin Command Prompt - 📱 React Native (Expo): Your IP appears in the Expo Developer Tools
✅ After updating the IPs, save the files and restart your app to apply changes.
| File | Line to Modify | Replace With |
|---|---|---|
AISuggest.js |
Endpoint URL | https://<your_local_ip>:3000/generate-ai-tips |
EstimateCalories.js |
Endpoint URL | http://<your_local_ip>:3000/estimate-calories |
geminiAPI.js |
Endpoint URL | http://<your_local_ip>:3000/ai-chatbot |
| File | Line (Approx.) | Replace With |
|---|---|---|
BMIResultScreen.js |
~ Line 56 | https://<your_local_ip>:8000/predict_obesity_risk/ |
Unlock a smart and personalized health experience powered by AI and data.
- Get tailored nutrition and health tips generated using advanced AI models.
- Instantly calculate Body Mass Index (BMI).
- Predict obesity risk levels using ML-powered FastAPI backend.
- Chat with our integrated AI assistant for real-time health advice.
- Ask questions, get support, and interact naturally.
- Estimate calorie content of any food item.
- Automatically update your daily intake in real-time.
- Monitor your BMI, weight trends, and risk levels.
- Visualize daily calorie goals and progress through intuitive charts.
| Layer | Technology |
|---|---|
| Frontend | React Native (Expo) |
| Backend | FastAPI (Python) |
| AI API | Node.js + Gemini API |
| Database | Supabase |
Use ipconfig (Windows) or network settings to find your local IP address.
Make sure your mobile device or emulator is connected to the same network as your development machine.
If you encounter any issues or bugs, feel free to create a GitHub issue or contact the maintainer.
