Skip to content

MabudAlam/NomAI-App

Repository files navigation

NomAI Logo

NomAI – AI Nutrition & Meal Tracking

NomAI is an open-source Flutter app that helps you track meals, analyze nutrition, and get AI-powered guidance tailored to your goals. It combines quick logging, powerful analytics, and a friendly chat interface to make healthy eating simple and sustainable.

Built with Python , Fastapi , Gemini , PydanticAI ,Supabase , OpenAI , Flutter, Firebase, and a lightweight backend for AI chat, NomAI works on both iOS and Android.

Backend Repo : https://github.com/Pavel401/NomAI

Note: This project is actively evolving. Contributions are welcome!

Features

  • Meal logging with nutrition breakdowns (calories, protein, carbs, fat, water)
  • AI chat assistant for meal analysis, planning, and healthy tips
  • Monthly analytics: charts, daily breakdown, summary stats
  • Goals and personalization (dietary preferences, allergies, targets)
  • Image upload and recognition to speed up logging
  • Social sharing of meals and achievements
  • Modern, responsive UI with smooth interactions

Screenshots

Below is a gallery of the current screenshots in static/screenshots/.

Download

  • Android (APK): see the Releases tab
  • iOS: TestFlight link (if available)

If you haven’t published builds yet, you can run locally by following the setup instructions below.

Tech Stack

  • Flutter 3.35.x (Dart 3)
  • Firebase (Auth, Firestore, Storage, Remote Config)
  • AI backend (FastAPI/Python) with provider integrations (OpenAI, Gemini)

See full app dependencies below and in pubspec.yaml.

Backend

  • Repository: https://github.com/Pavel401/NomAI
  • Default API base URL (configurable): https://nomai-production.up.railway.app
    • Change in lib/app/repo/agent_service.dart

Packages

Core

UI & UX

Media & Sharing

Firebase

Utilities

Dev (build/test/tools)

Architecture Overview

  • lib/app/modules/... contains feature modules (Home, Chat, Analytics, Scanner, Settings)
  • flutter_bloc for authentication/user data flows; GetX for some controllers (e.g., scanner, chat)
  • Firebase stores users, nutrition records, and computed monthly analytics
  • AI chat backed by a lightweight HTTP API

Key files:

  • Chat view: lib/app/modules/Chat/Views/chat_view.dart
  • Analytics view: lib/app/modules/Analytics/views/analytics_view.dart
  • Home view: lib/app/modules/Home/views/home_view.dart
  • Scanner controller: lib/app/modules/Scanner/controller/scanner_controller.dart
  • Agent service (AI backend): lib/app/repo/agent_service.dart

Prerequisites

  • Flutter 3.35.0 (FVM optional)
  • Firebase project (Android + iOS apps)
  • Optional: A running AI backend for chat (HTTP API)

Setup

  1. Clone and fetch packages
git clone
cd MealAI

# With FVM (recommended to match exact version)
fvm install 3.35.0
fvm flutter pub get

# Or with system Flutter 3.35.x
flutter pub get
  1. Firebase configuration
  • Android: add your google-services.json to android/app/
  • iOS: add your GoogleService-Info.plist to ios/Runner/
  • Ensure your Firebase project has Authentication, Firestore, and Storage enabled
  1. Configure AI backend (optional, required for chat)
  • Update the base URL in lib/app/repo/agent_service.dart:
static const String _baseUrl = 'https://your-backend.example.com';
  1. Run the app
# With FVM
fvm flutter run

# Or with system Flutter
flutter run

Build

# Android APK
flutter build apk --release

# iOS
flutter build ios --release

Optional assets tooling:

  • App icons: dart run icons_launcher:create
  • Splash screen: dart run flutter_native_splash:create

Folder Structure (high-level)

lib/
  app/
    components/         # Reusable UI components
    constants/          # Colors, theme, constants
    models/             # Data models (Auth, Agent, AI)
    modules/
      Home/
      Chat/
      Analytics/
      Scanner/
      Settings/
    repo/               # Firebase and agent service repositories
    services/           # Domain services
    utils/              # Utilities/helpers
assets/
  png/                  # Logo and images
  svg/                  # SVGs
static/
  screenshots/          # Add app screenshots for README

Environment and Configuration

  • Flutter SDK: lock to 3.35.0 for compatibility (.fvmrc present)
  • Firebase: set up rules and indexes as needed for your data model
  • Remote Config: optionally used for feature flags/tuning

Contributing

Contributions are welcome! Please:

  • Open an issue for bugs or feature requests
  • Fork the repo and create a feature branch
  • Keep PRs focused and include a clear description and screenshots when applicable

Development Tips

  • Follow existing code style and patterns in lib/app/modules/*
  • Prefer small, cohesive changes and clear commit messages
  • Add comments where intent isn’t obvious

Roadmap (ideas)

  • More goals and personalized plans
  • Diet Plans
  • Weekly meal prep suggestions
  • Barcode scanning for packaged foods
  • Expanded integrations (HealthKit/Google Fit)
  • Enhanced AI prompts for meal planning and shopping lists

License

Choose a license (MIT/Apache-2.0/etc.) and add it to the repository. Update this section once selected.

About

CalAI ? Nah NomAI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors