doi: 10.56294/ai2024136

 

ORIGINAL

 

Mobile app for planning and tracking healthy eating habits with artificial intelligence and augmented reality

 

Aplicación móvil de planificación y seguimiento de hábitos alimenticios saludables con inteligencia artificial y realidad aumentada

 

María Julieta Rabozzi Orelo1

 

1Universidad Siglo 21, Ingeniería en software. Córdoba, Argentina.

 

Cite as: Rabozzi Orelo MJ. Mobile app for planning and tracking healthy eating habits with artificial intelligence and augmented reality. EthAIca. 2024; 3:136. https://doi.org/10.56294/ai2024136

 

Submitted: 18-08-2023                   Revised: 06-01-2024                   Accepted: 26-05-2024                 Published: 27-05-2024

 

Editor: PhD. Rubén González Vallejo

 

ABSTRACT

 

Staying healthy in today’s world can be a considerable challenge due to the difficulty of accessing personalized meal plans, the lack of tools for habit tracking, and the limited availability of information about the foods we consume. Although technology has advanced significantly, there is no platform that combines nutritional plans comparable to those designed by a professional nutritionist with detailed information about consumed foods and tools that facilitate evaluating the user’s progress. For this reason, a mobile application was developed to provide meal plans generated by artificial intelligence, based on the Dietary Guidelines for the Argentine Population. This application adapts to each user’s dietary preferences, personal data, and objectives, featuring functionalities such as food scanning and a section where users can track their progress. This project was developed thanks to the knowledge acquired during the Software Engineering program, encompassing stages such as identifying and analyzing the problem and designing a proposal that incorporates transformative technologies like artificial intelligence and augmented reality, reflecting the integration of technical and analytical skills from the conception of the idea to the implementation of the system.

 

Keywords: Dietary Planning; Artificial Intelligence; Augmented Reality; Healthy Habits; Mobile Application.

 

RESUMEN

 

Mantenerse saludable en la actualidad puede ser un desafío considerable, debido a la dificultad de acceder a planes alimenticios personalizados, falta de herramientas para seguimiento de hábitos y la limitada disponibilidad de información sobre los alimentos que consumimos. Aunque la tecnología ha avanzado significativamente, no existe una plataforma que combine planes nutricionales comparables a los diseñados por un nutricionista profesional, con información detallada sobre alimentos consumidos y herramientas que faciliten evaluar el progreso del usuario. Por ello, se desarrolló una aplicación móvil que ofrece planes alimenticios generados mediante inteligencia artificial que se fundamentan en las Guías Alimentarias para la Población Argentina. Esta se adapta a las preferencias alimenticias, datos personales y objetivos de cada usuario, contando con la funcionalidad de escanear alimentos y un apartado donde el usuario puede observar su progreso. Este proyecto fue desarrollado gracias a los conocimientos adquiridos durante la carrera de Ingeniería en Software, atravesando etapas como la identificación y análisis de la problemática, y el diseño de una propuesta que incorpora tecnologías transformadoras como la inteligencia artificial y realidad aumentada, reflejando la integración de competencias técnicas y analíticas, desde la concepción de la idea hasta la implementación del sistema.

 

Palabras clave: Planificación Alimentaria; Inteligencia Artificial; Realidad Aumentada; Hábitos Saludables; Aplicación Móvil.

 

 

 

INTRODUCTION

It is common for meal planning and organization to not receive the attention they deserve. However, the Honorary Commission for Cardiovascular Health(1) stated that "certain eating habits and some components of the foods and products we consume increase the risk of developing diseases such as diabetes, hypertension, cardiovascular disease, cancer, excess weight, high cholesterol, among others." Given this, a meal plan takes on special relevance, as it is essential for health care. However, not everyone had access to one, and committing to a long-term plan can be difficult, leading to a loss of consistency. In addition, most of the time, people did not have enough information about what they were consuming.

Due to this problem, there was a need to develop a food organization app designed to follow the guidelines of the Dietary Guidelines for the Argentine Population. This app allows users to enter data such as age, measurements, and goals, and receive appropriate meal plans. It also has a food scanning feature that provides nutritional information and records daily consumption, allowing users to evaluate their progress and encouraging them to maintain good habits.

This project was developed in the province of Córdoba, Argentina, with the aim of facilitating the care of the eating habits of people in the region.

 

Background.

According to figures from the World Health Organization (WHO), between 1975 and 2016, the global prevalence of obesity has almost tripled, affecting adults, children, and adolescents.(2) In response to this problem, technology has begun to play a crucial role in promoting a healthier and more balanced lifestyle.

Today, various applications combine technology and health to simplify people's lives. One example is El CoCo, an application that allows users to scan supermarket products and provides detailed information to help them make more conscious and healthier purchases. Similarly, MyFitnessPal(3) focuses on health and fitness tracking, offering a calorie counter and physical activity log for its users.

Another notable app is Fitia, which provides personalized meal plans based on the user's needs and goals, such as weight loss, maintenance, or muscle gain. Fitia calculates the necessary calories and suggests food combinations, making it easier for users to track their diet and nutritional goals.

These apps demonstrate how technology can be a valuable tool for addressing nutrition-related health issues by making information more accessible and improving adherence to personalized meal plans. However, there is still a need for more integrated solutions that combine different technologies to offer an even more comprehensive experience.

 

Description of the Problem Area

Poor diet and unhealthy habits are closely linked to the increase in chronic non-communicable diseases such as diabetes, hypertension, and heart disease.

The World Health Organization(4) states that: in 2022, nearly 390 million adults aged 18 and older worldwide were underweight and 2,5 billion were overweight (of these, 890 million were obese). In addition, 390 million children and adolescents aged 5 to 19 were overweight (of whom 160 million were obese).

Difficult access to adequate dietary plans, little or no monitoring of these plans, and a lack of awareness about the foods we eat contribute to the persistence of poor eating habits. In addition, for the vast majority of individuals, following a nutritional plan supervised by nutritionists over time can be difficult due to time or budget constraints, especially in populations with limited access to these specialists. Furthermore, a sedentary lifestyle and excessive consumption of ultra-processed foods do not improve the situation, facilitating the onset of chronic diseases in all ages and social strata.

 

General Objective

To develop a mobile application that provides healthy meal plans using trained artificial intelligence, based on user data such as measurements, goals, and personal preferences, with the functionality of scanning foods using augmented reality to promote conscious eating and the ability to observe weekly progress after daily follow-ups where the user can mark their compliance.

 

METHOD

The project is being developed using the agile Scrum methodology to facilitate organization with two-week sprints and Trello software. According to APD, "This working method aims to achieve the best result for a given project."

 

Tools Used

The mobile application was developed using SwiftUI as the main framework, allowing for the construction of modern and adaptive user interfaces in a declarative manner, which simplifies the development process and improves the user experience.(5) To organize the application logic, the MVVM (Model-View-ViewModel) architecture was used, which facilitates the separation between the user interface and the business logic, ensuring a more modular and maintainable code.(6)

On the backend, Node.js was used, a JavaScript platform that provides an efficient environment for server creation. Thanks to its ability to handle multiple requests simultaneously, seamless integration with artificial intelligence and augmented reality services, essential aspects of the project, was achieved.(7) In addition, the MongoDB database was chosen for its NoSQL nature, allowing large volumes of data to be stored in a JSON-like document format. This facilitates the management of user data, meal plans, and consumption records, offering a flexible and scalable structure.(8)

The use of SwiftUI alongside MVVM architecture allowed the interface to automatically update with data managed from the backend, providing a smooth and efficient user experience.(9) Communication between the mobile app and the server developed in Node.js ensured constant data updates, while MongoDB(10) was responsible for storing all necessary information quickly and accessibly.

 

Data collection

Data collection for this project was carried out using two techniques:

1.   Observation: observations were made of family members, friends, and acquaintances to identify how they manage their eating habits, the difficulties they face, and how they interact with technological tools for planning their diet.

2.   Document review: the Dietary Guidelines for the Argentine Population were analyzed to inform the characteristics of the application and ensure that the recommendations are aligned with official nutritional standards.

 

Activity Planning

Below is a Gantt chart showing how the project was organized and timed.

 

Figure 1. Gantt chart

 

Survey

Structural Survey

As this is a project aimed at people seeking to improve their eating habits, there is no specific geographical location for it, as it depends on where the main actors interact: patients and nutritionists. These actors are usually found in settings such as private or clinical offices or virtual environments. It was found that, in addition to face-to-face communication between patients and nutritionists, tools such as video call platforms, instant messaging to answer questions, and email to share meal plans or recipes are also used.

 

Functional Survey

After analyzing the data collected through observation, it was concluded that there is currently no formal structure for functional processes related to improving eating habits. Therefore, this survey is based on people who face difficulties in improving their diet and the agents around them, such as:

·      Nutritionists: professionals who provide personalized meal plans and monitor patients' progress, usually in monthly consultations.

·      Patients: people seeking nutritional guidance but who often face barriers to maintaining consistency in the recommended plans.

The processes surveyed are detailed below:

 

Process: Visit to the Nutritionist

Roles involved: Nutritionist, patient. Steps:

1.   Searching for and scheduling an appointment: the patient searches for a nutritionist and schedules a consultation (in person or remotely).

2.   Initial consultation: the nutritionist conducts an interview to collect data such as weight, height, body mass index, and body measurements.

3.   Design of the meal plan: the nutritionist develops a personalized plan considering the patient's caloric needs, food preferences, and goals.

4.   Follow-up: the patient implements the plan and attends regular consultations (usually monthly) to assess progress.

5.   The nutritionist adjusts the plan based on the results and any difficulties reported.

 

Process: Implementation of the Diet Plan

Roles involved: Patient, nutritionist (indirectly). Steps:

1.   Review of the meal plan: the patient studies the instructions provided by the nutritionist.

2.   The patient purchases the necessary foods.

3.   Communication of difficulties: if the patient encounters barriers to following the plan, they communicate these difficulties to the nutritionist at the follow-up consultation.

 

Business Process

The following shows how the processes will be carried out in the system.

 

Figure 2. Flowchart of the nutritionist care process

 

Diagnosis and Proposal

Diagnosis

 

Table 1. Problems and causes of the diagnosis

Visit to the nutritionist

Problems

Causes

Finding and scheduling an appointment can be a slow process slow process, which discourages patients.

The lack of centralized information about availability of nutritionists makes it difficult to choose and schedule efficiently.

The design of the meal plan may not fully reflect the patient's needs.

Consultation time may be limited, leading to incomplete collection of information about habits and patient preferences.

Follow-up consultations are often missed or delayed.

Lack of automated reminders and monitoring tools for patients.

 

Table 2. Problems and causes of diagnosis

Implementation of the Food Plan

Problems

Causes

The patient may face difficulties in implementing the dietary plan due to logistical barriers or lack of motivation.

Lack of practical tools such as automated shopping lists or specific suggestions.

The patient's difficulties are not always communicated to the nutritionist in real time.

Communication channels are not standardized or optimized to resolve problems quickly.

 

Proposal

A comprehensive mobile app for planning and tracking eating habits was developed to address the issues identified, with the aim of providing users with personalized meal plans, facilitating access to clear nutritional information through real-time food scanning with augmented reality, and ensuring continuous monitoring of their eating habits.

Key features of the system included:

1.   Automation of personalized meal plans: an artificial intelligence-based algorithm was implemented that generated meal plans tailored to each user's personal data and goals. These plans were dynamically adjusted based on the user's progress.

2.   AR food scanning: the app integrated augmented reality technology, allowing users to scan food products and receive detailed nutritional information in real time. This information was presented in an understandable way, with clear recommendations on consumption.

3.   Continuous monitoring of eating habits: the app incorporated a food log system to encourage consistency in following the plan.

 

This digital solution solved the problems of accessibility, personalization, and consistency in eating habits, providing an intuitive, practical, and technologically advanced tool to promote healthy and sustainable eating over time.

 

Objectives, Limits, and Scope of the Prototype

Objective

Develop a prototype system that allows users to plan, track, and personalize healthy eating habits through the integration of artificial intelligence and augmented reality, providing personalized meal plans and facilitating food scanning to obtain real-time nutritional information.

 

Limitations

From the moment the user enters their personal data and sets their dietary goals, until a personalized meal plan is generated and their progress is tracked through the recording of foods consumed and product scanning.

 

Scope

Within these limits, the prototype will cover the following business processes:

    Entering personal data and dietary goals.

    Generation of personalized meal plans.

    Scanning of food with augmented reality to obtain nutritional information.

    Daily recording of food consumed.

    Dynamic adjustment of the meal plan based on user progress.

 

RESULTS

System Description

Below is a description of the system developed for planning and monitoring eating habits using a mobile application. The Product Backlog is presented, which contains the user stories necessary for the development of the system, each with its priority and effort estimate (Story Points).

 

Product Backlog

 

Table 3. Product Backlog

ID

User Story (US)

Priority

Points of History

Dependency

HU-001

Registration of user to the application.

Registration

13

-

HU-002

User login.

Registration

3

HU-001

HU-003

User password recovery user.

Media

8

HU-001, HU-002

HU-004

Display of user information User.

Low

3

HU-002

HU-005

Editing of user information user.

Low

3

HU-004

HU-006

Generation of personalized personalized meal plans.

High

13

HU-002

HU-007

Scanning of food with augmented reality.

High

21

HU-002, HU-006

HU-008

Daily food log consumed.

Medium

8

HU-002, HU-006

HU-009

Graphics of Progress of daily consumption.

Medium

5

HU-008

HU-010

Reminder notifications to record consumption.

Off

3

HU-008

HU-011

Reports weekly of progress on the meal plan.

Low

5

HU-009

HU-012

Configuration of custom notifications.

Off

3

HU-010

HU-013

Security and encryption of sensitive data.

High

8

HU-001, HU-002

HU-014

Data synchronization in the cloud.

Media

13

HU-001, HU-002, HU-013

HU-015

Onboarding and tutorial for new users.

Media

5

HU-001

 

Table 4. User 1 history

ID

HU-002

Name

User admission

Description

As a registered user, I want to log in to the app to access my account and view my meal plans.

Acceptance criteria

Since I am a registered user, when I enter my login credentials (email and password) correctly, I should be able to access my account and view my personal information.

Since I enter an incorrect password, when I try to access my account, the system will display an error message indicating that the credentials are invalid.

Since I forget my password, when I select the recovery option, I should receive an email to reset it.

Priority

High

Estimated story points

3

 

Table 5. User 2 History

ID

HU-003

Name

Password recovery

Description

As a user, I want to be able to recover my password if I forget it so that I can access the application again.

Acceptance criteria

Since I am a registered user, when I select the Forgot my password option, I should receive an email to reset my password.

Since I enter an email address that is not registered, when I try to recover my password, the system will display a message indicating that the account does not exist.

Since I follow the link in the email, when I reset my password, I should be able to log in with the new password.

Priority

Medium

Estimated story points

8

 

Table 6. User 3 History

ID

HU-004

Name

Display of user information

Description

As a user, I want to view my personal information to verify that my data is correct and up to date.

Acceptance criteria

Since I am logged into the application, when I select the "My Profile" option, I should be able to see my personal data and current meal plans.

Since my data has been recently updated, when I access "My Profile," I should be able to view the updated information.

Priority

Low

Estimated history points

3

 

Table 7. User 4 History

ID

HU-005

Name

Editing user information

Description

As a user, I want to be able to edit my personal information to keep my data up to date.

Acceptance criteria

Since I am viewing my profile, when I select the option to edit my information, I should be able to modify my personal data and save the changes.

Since I have modified a field in my personal information, when I save the changes, I should receive confirmation that the data has been updated correctly.

Priority

Low

Estimated story points

3

 

Table 8. User 5 history

ID

HU-006

Name

Creation of personalized meal plan

Description

As a user, I want to create a personalized meal plan based on my personal data to follow a diet that suits my needs.

Acceptance criteria

Since I am logged in and have registered my personal data, when I select the "Create Meal Plan" option, I should be able to receive a personalized meal plan based on my profile.

Since I have updated my personal data, when I request a new plan, the system should generate an updated meal plan based on the new information.

Priority

High

Estimated history points

13

 

Table 9. User 6 History

ID

HU-007

Name

Food scan

Description

As a user, I want to scan a food item using the camera my my device to get detailed nutritional information about the product.

Acceptance criteria

Since I am in the scan view, when I scan a food item with the camera, I should receive the complete nutritional information for the scanned product.

Given a product with an unrecognized barcode, when I try to scan it, the system should display a "Product not found" message.

Priority

High

Estimated story points

2

 

Table 10. User 7 History

ID

HU-008

Name

Monitoring of dietary progress

Description

As a user, I want to record my daily intake to track my dietary progress and stay on on track with my plan.

Acceptance criteria

Since I am following a diet plan, when I enter the foods I consume daily, I should be able to view my progress based on the goals I have set.

Since I have recorded my food incompletely, when I try to save my progress, the system should display a message requesting that I complete the information.

Priority

Medium

Estimated story points

8

 

Table 11. User 8 History

ID

HU-009

Name

Generation of dietary habits report

Description

As a user, I want to generate a report on my habits. food intake to monitor my progress and make adjustments if necessary.

Acceptance criteria

Since I have recorded my daily intake, when I select the option to generate a report, I should receive a detailed report of my consumption compared to my meal plan.

Since I have not recorded enough intake, when I try to generate a report, the system should notify me that the information recorded is not sufficient for a detailed analysis.

Priority

Medium

Estimated story points

5

 

Table 12. User 9 History

ID

HU-010

Name

Notifications daily from reminder for record consumption

Description

As a user, I want to receive daily notifications to record my consumption so that I don't forget to keep keep track of my diet.

Acceptance criteria

Since I set up notifications in the app, when it is time for the notification, I will receive an alert to record my daily consumption.

-  Since I have disabled notifications, when it is a meal time, I should not receive any reminder notifications.

Priority

Low

Estimated story points

3

 

Table 13. User 10 History

ID

HU-011

Name

Weekly progress reports on the dietary plan

Description

As a user, I would like to receive weekly reports on my progress on the meal plan to know if I am achieving my nutritional goals.

Acceptance criteria

Since I have recorded my food intake daily, at the end of the week, I will receive a visual report of my progress, comparing what I have consumed with the meal plan.

Since I have not recorded my consumption completely, when I try to view the report, the system should display a message indicating that the information is insufficient for a detailed analysis.

Priority

Low

Estimated story points

5

 

Table 14. User History 11

ID

HU-012

Name

Custom notification settings

Description

As a user, I want to customize notifications to suit my needs and schedule, helping me to follow my meal plan flexibly.

Acceptance criteria

Since I am on the notification settings screen, when I customize my notification preferences, I will receive reminders adjusted to the schedules and frequencies I have defined.

Since I have not set any custom preferences, when the app sends notifications, it will the default system schedules will be used.

Priority

Low

Estimated story points

3

 

Table 15. User 12 History

ID

HU-013

Name

Security and encryption of sensitive data

Description

As a user, I want my sensitive data, such as personal and health information, to be encrypted to ensure privacy and security.

Acceptance criteria

Since I entered my personal data into the application, when the data is sent to the server or stored locally, it will be encrypted using appropriate security standards.

Since the data is encrypted, when a third party attempts to access it without authorization, the system will prevent access and protect the integrity of the information.

Priority

High

Estimated story points

8

 

Table 16. User History 13

ID

HU-014

Name

Cloud data synchronization

Description

As a user, I want my data to be synchronized automatically to the cloud so you can access them from any device.

Acceptance criteria

Since I entered or updated my information in the app, when it syncs with the cloud, I will then be able to access my updated data from any registered device.

Since synchronization fails due to connection problems, when the application detects that the internet is available again, it will attempt to synchronize the data automatically.

Priority

Medium

Estimated story points

13

 

Table 17. User History 14

ID

HU-015

Name

Onboarding and tutorial for new users

Description

As a new user, I want an interactive tutorial that teaches me how to use the application so that I can understand its main features from the start.

Acceptance criteria

Since this is my first time accessing the app, when I go through the onboarding process, I will be shown a tutorial that explains how to log food, create plans, and use other key features of the app.

Since I have completed the tutorial, when I log back into the app, the system will not show the tutorial again unless I request it from the settings.

Priority

Medium

Estimated story points

5

 

Sprint Backlog

 

Table 18. User Story 15

Sprint

User

ID

Tasks

Priority

Estimated

Status

1

User registration at the application

HU - 001

Design diagrams corresponding to the registration Encoding the registration module

Design the graphical interface for the registration module Implement and integrate the registration module into the system

Perform unit tests on the registration module

High

3 days

Done

 

User login

HU – 002

Design diagrams corresponding to user login

Code the user login module Design the graphical interface for the login module Implement and integrate the login module into the system

Registration

3

Done

 

Recovery of password

HU - 003

Design diagrams corresponding to password recovery Code the password recovery module 13

Design the graphical interface for the password recovery module

Implement and integrate the recovery module into the system

Perform unit testing of the recovery module

Medium

3 days

Done

 

Visualization of information of user

HU - 004

Design diagrams corresponding to the display of user information Code the information display module

Design the graphical interface for the display module Implement and integrate the display module into the system

Perform unit tests on the display module

Medium

3 days

Done

 

Information editing from user

HU - 005

Design diagrams corresponding to user information editing

Code the information editing module Design the graphical interface for the information editing module

Implement and integrate the editing module into the system

Perform unit testing of the editing module

Low

2 days

Done

2

Creation of personalized meal plan

HU - 006

Design diagrams corresponding to the generation of personalized meal plans Code the personalized meal plan generation module Design the graphical interface for the personalized plan module Implement and integrate the plan module into the system Perform unit tests on the personalized meal plan generation module

Registration

3 days

Done

 

Food scanning

HU - 007

Design diagrams corresponding to augmented reality food scanning

Code the augmented reality food scanning module Design the graphical interface for food scanning

High

3 days

Done

 

 

 

Implement and integrate the scanning module into the system

Perform unit tests on the food scanning module Food

 

 

 

 

Food of food

HU - 008

Design diagrams corresponding to the daily food log Code the daily food log module

Design the graphical interface for the daily food log

Implement and integrate the daily log module into the system

Perform unit tests on the daily food log module

Medium

3 days

Done

 

Generate a report on eating habits

HU - 009

Design diagrams corresponding to consumption progress charts

Code the daily consumption progress graph module

Design the graphical interface for the progress charts Implement and integrate the progress charts into the system

Perform unit testing of progress charts

Medium

3 days

Done

 

Daily reminders for

HU - 010

Design diagrams corresponding to daily reminder notifications

Code the daily reminder notification module reminder

Low

2 days

Done

 

Record consumption

 

Design the graphical interface for daily notifications Implement and integrate daily notifications into the system

Perform unit tests on the module daily notifications

 

 

 

3

Weekly progress reports on the food plan

HU - 011

Design diagrams corresponding to the weekly progress reports

Code the weekly progress report module

Design the graphical interface for weekly reports Implement and integrate weekly reports into the system

Perform unit testing of the weekly report module

Low

3 days

Done

 

Configuration of

notifications

HU - 012

Design diagrams corresponding to the custom notification configuration Code the custom notification configuration module

Design the graphical interface for notification configuration Implement and integrate custom notification configuration

Perform unit tests of the custom notifications

Low

3 days

Done

 

Security and encryption of sensitive data

HU - 013

Design diagrams corresponding to data security and encryption

Encode the sensitive data encryption module

Implement the security and encryption system in the backend

Perform security and vulnerability testing on data

Document the security and encryption system for users and developers

High

3 days

Done

 

Synchronize in the cloud

HU - 014

Design diagrams corresponding to cloud data synchronization

Code the cloud data synchronization module

Implement synchronization functionality in the backend

Perform synchronization and data handling tests in the cloud Document the synchronization implementation for use and maintenance

High

3 days

Done

 

Onboarding and tutorial for new users

HU - 015

Design diagrams corresponding to the onboarding process for new users

Code the onboarding module and tutorials for new users

Design the graphical interface for the onboarding process and tutorial

Implement and integrate the onboarding into the system Conduct usability testing of the onboarding and tutorial

Medium

2 days

Completed

 

Data structure

The system data structure is presented below, including the diagrams needed to represent the organization and management of the data used in the project. These are essential for understanding how information is structured and stored, ensuring that design decisions are consistent with the project's needs.

 

Class diagram

Since the system was developed in Swift, an object-oriented programming language, a class diagram was used to show the characteristics of the objects and their relationships within the system. This diagram allows us to visualize how entities are structured and related in the context of application development.

 

Diagrama

El contenido generado por IA puede ser incorrecto.

Figure 3. Class Diagram

 

NoSQL Database Diagram

Since MongoDB(10) was used as the NoSQL database management system, a NoSQL database diagram is included. This diagram represents the organization of data into collections and documents, reflecting the flexibility and scalability inherent in this type of non-relational storage system.

 

Diagrama

El contenido generado por IA puede ser incorrecto.

Figure 4. NoSQL diagram

 

Screen interface prototypes

The prototype developed for the application shows a series of screens that guide the user through the main functions and navigation flow of the tool. The user experience begins with a welcome screen, where the user can choose between logging in or creating an account.

If the user chooses to create an account, they go through an onboarding process where they enter basic information such as age, gender, weight, and dietary goals. This data is essential for customizing the plans that the application will generate, adapting them to each individual's needs. After these steps, the home screen is displayed with the generated plan.

If you log in, you are taken directly to the home screen. Here you can view your diet plan and use a tab bar to navigate between the other screens to scan foods, view your profile, and see your progress.

The food scanning feature is designed to allow users to obtain nutritional information about the products they consume. The device's camera is activated from the scan screen.

In the My Profile section, users can view and edit the information they entered during onboarding.

In the view progress session, users can view their progress. Clear and simple graphs help users monitor their progress and make any necessary adjustments.

 

Figure 5. Registration and login

 

Figure 6. Onboarding part 1

 

Figure 7. Onboarding part 2

 

Figure 8. Start

 

Figure 9. Food scanning

 

Figure 10. My profile

 

Figure 11. My progress

 

Architecture Diagram

The architecture diagram shows the general functioning of the mobile application for planning and tracking eating habits. The application is downloaded from the AppStore to users' mobile devices, allowing them to access its main features, such as recording personal data and creating personalized meal plans.

From their mobile device, users interact with the app to send data requests or updates, such as checking nutritional information by scanning food items. These requests are sent to a server, which acts as an intermediary between the app and the database. The server processes the requests and, if necessary, queries the database, which stores user information, meal plans, and consumption records.

Communication between the mobile device, the server, and the database is carried out via the internet, ensuring that data remains synchronized and accessible to users from anywhere. Once the server processes the information or performs an update, it sends the response back to the mobile device, allowing the user to view the results in real time.

 

Figure 12. Architecture Diagram

 

Security

Below are two fundamental aspects related to system security: access control and information backup policy.

 

Access to the Application

The following table details the security policies implemented for access to the mobile food planning application. These policies aim to protect users' personal information and ensure secure access to the application.

 

Table 19. Application access policy table

Policy

Description

1. Unique users

Each user is uniquely identified by their email address, which must be verified at the time of registration to avoid duplicates in the database.

2. Password requirements

Passwords must contain at least 8 characters, including one uppercase letter, one lowercase letter, one number, and one special character special character to ensure greater security.

3. Two-factor authentication

Additional security measure. Requires users to enter a temporary code sent to their email address or registered phone number, in addition to their password, when logging in.

4. Temporary lock after failed attempts

After 5 failed login attempts, the account is temporarily blocked for 15 minutes to protect it from unauthorized access.

4. Password encryption

Passwords are stored securely using the bcrypt encryption function, which protects data in the event of unauthorized access to the database, which protects data in the event of unauthorized access to the database.

5. Password recovery

If you forget your password, you can request a recovery link to be sent to your registered email address to reset it securely.

6. Access with basic authentication

Users can log in to the application only with their email address and password, ensuring controlled and secure access.

7. Personal data protection

All personal information entered by the user, such as health data and meal plans, is stored in encrypted form to ensure privacy.

8. TLS Protocol Version

The system uses the latest stable version of the TLS (Transport Layer Security) protocol to ensure security in the transfer of data between the client and the server. This protocol ensures the encryption of information and protects against attacks such as data interception.

9. HTTPS Protocol

Communications between the client and the server are protected by the HTTPS protocol, which combines the HTTP protocol with TLS encryption. This ensures that sensitive data, such as passwords and user data, is transmitted securely, preventing access by malicious third parties.

 

Information backup policy

The food planning application's information backup policy was developed to protect and ensure the continuous availability of user data. Information, including personal data, meal plans, and consumption records, was primarily stored in the cloud using MongoDB Atlas, ensuring fast and reliable access from anywhere.

Data is backed up daily at 3:00 a.m., a time when user activity is expected to be low, to minimize any potential service interruption. These backups are stored both in the cloud and in a local server location, providing redundancy and facilitating data recovery in the event of loss or damage.

In terms of local storage, backups are stored in a secure directory on the backend server configured with Node.js, protected by advanced encryption (AES-256). This approach ensures that even if the local system is compromised, the data will be protected against unauthorized access. In addition, each backup copy has a 30-day retention period, after which it is automatically deleted to optimize storage space usage.(9)

To guarantee the integrity of the backups, automatic consistency checks are performed after each backup process. If errors are detected, the system generates immediate alerts to the technical team, who can take steps to correct the problem and prevent any data loss.(11)

This robust approach guarantees data security and availability, ensuring that users can rely on the platform to manage their feed without interruptions or risks.(12)

 

Cost Analysis

To represent the costs of the project, we considered the effort required for its execution (human resources), licensing costs, and the necessary equipment. The values shown are expressed in Argentine pesos as of 2024.

 

Development costs

The following table shows staff remuneration, the values for which were obtained from the Recommended Fees page | Updated by IPIM index.(9)

 

Table 20. Development Costs Table

Role

Monthly fees AR$

Months Total

Subtotal

Backend Developer

1 985 445,37

4

7 941 781,48

Frontend Developer

1 883 828,08

4

7 535 312,32

Functional Analyst Senior

1 323 791,79

3

3 971 375,37

Tester (QA)

1 625 876,52

4

6 503 506,08

UI/UX Designer

1 481 837,93

1

1 481 837,93

Total Development

 

 

27 433 813,18

 

Operating cost analysis

The operating costs are presented below, taking into account the resources necessary to ensure the functioning of the system, initial investments, and monthly expenses.

 

Table 21. Operating Costs Table

Description

Initial AR$

Recurring Monthly AR$

Total costs for the option purchase of all hardware.

3 700 000

3500

 

The total initial cost of purchasing all hardware is $3 700 000, while the recurring monthly cost is $3500. This initial investment allows the project to have the necessary infrastructure from the outset, with lower operating costs in the long term.

 

Risk Analysis

The following table details the risks identified that affect the project. The project's potential risk matrix is shown below.

 

Table 22. Identified risks

Risk

Cause

Probability of occurrence

Impact

Optimistic planning

Underestimation of the time needed to develop and integrate functions.

80

4

Inconsistencies in the integration of AI and AR

Technical complexity when integrating artificial intelligence and augmented reality modules.

70

3

Performance issues

Intensive use of resources due to advanced features or unexpected user load users.

70

4

Difficulty in finding beta users

Limited call for participants or interest from users to try the application.

$70

3

Appearance of a similar application

Competition in the market with similar or superior features.

70

3

Data loss

Backup failures, cyberattacks, or hardware errors.

30

5

Disagreements within the team

Lack of alignment on objectives or differences in technical execution.

50

3

 

Once the risks affecting the project have been identified, their impact is analyzed using a risk matrix.

 

Table 23. Risk matrix

 

Very low (1)

Low (2)

Medium (3)

High (4)

Very high (5)

Very high (90 % - 0,9)

0

1,8

2,7

3,6

4

High (70 % - 0,7)

0

1,4

3

2,8

3,5

Average (50 % - 0,5)

0

1

1

2

2

Low (30 % - 0,3)

0

0

0

1

1,5

Very low (10 % - 0,1)

0

0

0,3

0,4

0,5

 

Applying the risk matrix to the identified risks yields the risk exposure risk.

 

Table 24. Identified risks

Risk

Level of exposure

Percentage relative

Percentage accumulated

Optimistic planning

3,6

25,3

25.

Inconsistencies in AI integration and AR

2,1

14,79

40,14

Performance issues

2,8

19,7

59,86

Difficulty in attracting users beta

2,1

14,79

74,65

Appearance of a similar application

2,1

14,79

89,4

Data loss

1,5

10,56

10

 

Using the values obtained from risk exposure and applying the Pareto principle, it is possible to identify and differentiate between the few vital risks and the many trivial risks.

 

Figure 13. Pareto diagram

 

The contingency plan based on the risks identified in the risk matrix is shown below.

 

Table 25. Contingency Plan

Risk

Contingency Plan

Planning Optimistic

Make more conservative time estimates and update the schedule at each review.

Inconsistencies in AI and AR integration

Plan regular testing sessions and consult with experts at each stage. Document recurring issues and adjust solutions.

Performance issues performance

Use performance analysis tools and optimize memory usage and processing of the application.

Difficulty acquiring users beta

Look for other promotional channels and adjust user volume expectations for the beta test.

Appearance of a similar application

Focus on the system's strengths and adjust the marketing strategy to highlight differentiators.

Data loss

Implement automatic backups and a restore functionality restore functionality.

Disagreements within the team

Hold alignment meetings and collaborative workshops to build consensus within the team.

 

CONCLUSIONS

The project was developed with the aim of providing users with a tool that facilitates the adoption of healthy eating habits, using artificial intelligence to personalize meal plans and augmented reality to scan foods. The main motivation for carrying out this project was the need to provide an accessible and effective solution for those who want to improve their diet but face difficulties in following a plan due to a lack of information and ongoing support.

Throughout the development process, the objectives set were achieved: an application was designed and programmed that allows users to record their data, receive personalized plans, and track their progress by recording their daily food intake and obtaining nutritional information in real time.

This project not only allowed me to apply and deepen the knowledge I acquired during my studies, such as mobile app development and the integration of advanced technologies, but also gave me the opportunity to improve my project management and teamwork skills. Personally, the process was enriching, as it required me to push my own limits and acquire new technical and analytical skills, which fills me with satisfaction and better prepares me to face future professional challenges.

 

BIBLIOGRAPHIC REFERENCES

1. Comisión Honoraria para la Salud Cardiovascular. Montevideo: CHSC. https://www.cardio.com.uy

 

2. Organización Mundial de la Salud. World Health Organization. 2017. https://www.who.int

 

3. MyFitnessPal. MyFitnessPal. https://www.myfitnesspal.com

 

4. Organización Mundial de la Salud. World Health Organization. 2024. https://www.who.int

 

5. Apple Developer. SwiftUI documentation. Cupertino (CA): Apple Inc. https://developer.apple.com/documentation/swiftui

 

6. SwiftBeta. SwiftBeta. 2023. https://www.swiftbeta.com

 

7. Node.js. About Node.js. https://nodejs.org/en/about

 

8. IBM. IBM Documentation. https://www.ibm.com/docs/en

 

9. Honorarios Recomendados. Actualizados por índice IPIM. 2024. https://www.honorariosprofesionales.com 

 

10. MongoDB. MongoDB Pricing. https://www.mongodb.com/pricing

 

11. Universidad Valle del Grijalva. UVG. https://www.uvg.edu.mx

 

12. Fernández AA. Alimentación consciente: principios y prácticas. Rev Nutr Integr. 2022.

 

FINANCING

None.

 

CONFLICT OF INTEREST

None.

 

AUTHORSHIP CONTRIBUTION

Conceptualization: María Julieta Rabozzi Orelo.

Data curation: María Julieta Rabozzi Orelo.

Formal analysis: María Julieta Rabozzi Orelo.

Research: María Julieta Rabozzi Orelo.

Methodology: María Julieta Rabozzi Orelo.

Project management: María Julieta Rabozzi Orelo.

Resources: María Julieta Rabozzi Orelo.

Software: María Julieta Rabozzi Orelo.

Supervision: María Julieta Rabozzi Orelo.

Validation: María Julieta Rabozzi Orelo.

Visualization: María Julieta Rabozzi Orelo.

Writing – original draft: María Julieta Rabozzi Orelo.

Writing – review and editing: María Julieta Rabozzi Orelo.