tefreeman / Sift

1 stars 0 forks source link

Sift: AI-Powered Calorie Estimator Mobile App

Overview

Sift is a mobile web application built with Ionic and Angular, designed to help users lose weight by leveraging AI technology to estimate the calorie content of menu items where such information is not readily available. The application uses an AI model trained on recipes and ingredient databases to predict calorie amounts, providing users with valuable insights into their dietary choices.

Main Purpose and Functionality

The primary objective of Sift is to assist users in making informed dietary decisions by estimating the calorie content of restaurant menu items. Key functionalities include:

  1. Calorie Estimation: Using an AI model trained on extensive recipe and ingredient data to provide calorie estimates for menu items.
  2. User Profiles: Allowing users to create profiles, track their weight, set health goals, and receive personalized recommendations.
  3. Geolocation: Displaying nearby restaurants and menu items on a map based on the user's current location.
  4. Filtering and Sorting: Offering advanced filtering and sorting options to help users find menu items that fit their dietary preferences and goals.
  5. Local Caching: Reducing backend search costs by caching restaurant and calorie information locally on the user's device.

Key Components and Modules

The application is structured into several key modules and components, each responsible for specific functionalities:

Authentication and Authorization

Data Management and Services

UI Components and Design

Filtering and Sorting

Maps and Geolocation

Profiles and User Data

Miscellaneous

Overall Architecture and Design Patterns

The application's architecture follows a modular design, with each module focusing on specific functionalities. Key design patterns and architectural choices include:

Important Technologies and Frameworks

The project employs several key technologies and frameworks:

Notable Features and Algorithms