NutriAI — Precision Nutrition at Scale

Redefining how we see, eat, and live.

NutriAI is an AI-powered nutrition assistant that simplifies food tracking using Multimodal AI. Instead of manually logging meals, users can upload a food image and receive instant nutritional analysis, calorie estimation, and personalized health insights.

Powered by Google Gemini 2.5 Flash, NutriAI acts like a “Nutritionist in Your Pocket” by understanding both the meal and the user behind it.


Features

  • AI-powered food recognition from uploaded images
  • Real-time calorie and macronutrient estimation
  • Personalized recommendations based on fitness goals
  • BMI and BMR calculation
  • Persistent food logging system
  • Modern responsive dashboard UI
  • Context-aware nutrition analysis

Tech Stack

Frontend

  • HTML5
  • CSS3
  • Vanilla JavaScript

Backend

  • Node.js
  • Express.js
  • Multer

AI Integration

  • Google Gemini 2.5 Flash API

Nutritional Science

Body Mass Index (BMI)

BMI = \frac{weight,(kg)}{height,(m)^2}

Used to estimate body composition and adjust calorie recommendations.


Basal Metabolic Rate (BMR)

BMR = (10 \times weight_{kg}) + (6.25 \times height_{cm}) - (5 \times age) + 5

Calculated using the Mifflin-St Jeor Equation to estimate daily calorie needs.


Project Architecture

AI Layer

Google Gemini handles:

  • Food image understanding
  • Portion estimation
  • Nutritional analysis
  • Personalized recommendations

Backend Layer

The Express server:

  • Processes image uploads
  • Handles API requests
  • Manages user data
  • Connects frontend with AI services

Frontend Layer

The frontend focuses on:

  • Fast interactions
  • Responsive layouts
  • Smooth animations
  • Premium user experience

Challenges Faced

Multimodal Context Synchronization

One major challenge was ensuring the AI understood both:

  • the uploaded meal image
  • the user's fitness goals

This was solved using a context-aware prompting system.

UI Optimization

Creating a premium UI with smooth animations while maintaining performance required optimization of:

  • CSS rendering
  • asset loading
  • animation performance

State Management

Synchronizing:

  • local storage
  • food logs
  • AI responses

required a custom lightweight state management system.


What I Learned

Through NutriAI, I gained practical experience with:

  • Multimodal Large Language Models (MLLMs)
  • Google Gemini API integration
  • AI-powered product engineering
  • Real-time image processing
  • Full-stack application development
  • Modern UI/UX design principles

.

Built With

Share this project:

Updates