MAVA: Identificación Del Tipo De Piel Y Recomendaciones Personalizadas Mediante El Uso De IA. María Paula Domínguez Jiménez María José Gómez Gómez Laura Valentina Rivera León Facultad De Ingeniería, Universidad EAN Proyecto De Grado Profesor John Jairo Porras Vega Bogotá, 31 de mayo de 2025 Proyecto De Grado - MAVA 2 Índice General Índice de Tablas….……………………...………………………...………………………... pág. 4 Índice De Figuras ….……………………....……………………...………………………... pág. 6 Resumen Ejecutivo………………………………………………...………………………... pág. 8 Abstract …………………………………………………………...………………………... pág. 9 Introducción……………………………………………………………………………..… pág. 10 Objetivos……………………………………………………………………...…………… pág. 12 Definición Del Problema……………………………………………………….......……… pág. 13 Justificación……………………………..……………………………………...…..……… pág. 15 Marco Teórico…………………………………………………………………...…..…..… pág. 17 Restricciones..…………………………………………………………………...…..…..… pág. 24 Analisis De Requerimientos ………………………………………………….....…..…..… pág. 27 Metodología De Selección Y Desarrollo...………………………...……………….……... pág. 34 Sistema De Costos Para Creación De Aplicación Web ………………………...…..…..… pág. 37 Aplicación Del Método De Desarrollo ..………………………….………..…...…..…..… pág. 39 Pila Del Producto ………………………………...……………….………..…...…..…..… pág. 42 Analisis De Arquitectura Y Diseño ….…………...……………….………..…...…..…..… pág. 46 Proyecto De Grado - MAVA 3 Arquitectura Del Software ….….…..……...………….………….………..…...…..…..… pág. 48 Modelos De Datos ………………………………………………………...……….……… pág. 51 Prototipo No Funcional …………………………………………………...……….……… pág. 54 Implementaciones ………………………………………………………...……….……… pág. 58 Pruebas Y Calidad Del Software …………………………………………………..……… pág. 71 Conclusiones ……………………………………………………………...……….……… pág. 82 Pasos Futuros ……………………………………...……………………...……….……… pág. 84 Referencias………………………………………………………………...……….……… pág. 85 Proyecto De Grado - MAVA 4 Índice De Tablas Historias De Usuario - HU001………..………………………...…………………..……... pág. 27 Historias De Usuario - HU002………..…………………………...………………..……... pág. 28 Historias De Usuario - HU003………..…………………………...………………..……... pág. 29 Historias De Usuario - HU004………..…………………………...………………………. pág. 29 Historias De Usuario - HU005………..…………………………...……………………..... pág. 30 Historias De Usuario - HU006………..…………………………...…………………..…... pág. 31 Historias De Usuario - HU007………..…………………………...………………..……... pág. 32 Costos ……………………….………..…………………………...………………..……... pág. 37 Product Backlog 1 ………..……………..……………………...…………………..……... pág. 42 Product Backlog 2 ………..……………..……………………...…………………..……... pág. 42 Product Backlog 3 ………..……………..……………………...…………………..……... pág. 43 Product Backlog 4 ………..……………..……………………...…………………..……... pág. 43 Product Backlog 5 ………..……………..……………………...…………………..……... pág. 43 Product Backlog 6 ………..……………..……………………...…………………..……... pág. 44 Product Backlog 7 ………..……………..……………………...…………………..……... pág. 44 Analisis De Arquitectura Y Diseño ………..……………………...…………………..…... pág. 46 Proyecto De Grado - MAVA 5 Tabla De Diccionario De Datos………..………………………...………………..……... pág. 52 Pruebas De Formulario De Consentimiento ……………………...………………..……... pág. 71 Pruebas De La Predicción Y Recomendación De Ingredientes ………..…………..……... pág. 75 Prueba De Base De Datos ………..…………………..…………...………………..……... pág. 77 Proyecto De Grado - MAVA 6 Índice De Figuras Diagrama De Contexto ………...……..………………………...…………………..……... pág. 48 Diagrama De Contenedores ………..……………………...……...………………..……... pág. 48 Diagrama De Componentes ………..………………………...…...………………..……... pág. 49 Estructura De La Base De Datos No Relacional ………..…………………..……………. pág. 51 Mockups MAVA ……………………..…………………………...……………………..... pág. 57 Pruebas 1 Postman ………….………..…………………………...…………………..…... pág. 72 Pruebas 2 Postman ………….………..…………………………...…………………..…... pág. 72 Pruebas 3 Postman ………….………..…………………………...…………………..…... pág. 73 Pruebas 4 Postman ………….………..…………………………...…………………..…... pág. 73 Pruebas 5 Postman ………….………..…………………………...…………………..…... pág. 74 Pruebas 6 Postman ………….………..…………………………...…………………..…... pág. 75 Pruebas 7 Postman ………….………..…………………………...…………………..…... pág. 76 Pruebas 8 Postman ………….………..…………………………...…………………..…... pág. 77 Prueba Base De Datos ………………..…………………………...………………………. pág. 78 Prueba Consentimiento Para Análisis ………..…………………...……………………..... pág. 78 Prueba Subida De Imágenes ………..…………………...………...…………………..…... pág. 79 Proyecto De Grado - MAVA 7 Prueba Subida De Imágenes Incorrecto ………..…………………………………..……... pág. 80 Prueba Visualización De Resultados ……………………….………..……...……..……... pág. 80 Proyecto De Grado - MAVA 8 Resumen Ejecutivo El cuidado de la piel ha evolucionado con avances científicos y tecnológicos, pero la desinformación y la amplia oferta de productos dificultan la elección adecuada. MAVA surge como una aplicación innovadora que, mediante análisis de imágenes faciales y aprendizaje automático, identifica el tipo de piel y sugiere ingredientes basados en estudios científicos. Desarrollada en Visual con el lenguaje de programación Python, optimiza bases de datos y ofrece una interfaz intuitiva para brindar recomendaciones rápidas y confiables. Más que personalizar el cuidado de la piel, MAVA combate la desinformación y ofrece una alternativa accesible y basada en evidencia científica en la industria cosmética Palabras Claves: Cuidado de la piel, desinformación, inteligencia artificial, aprendizaje automático, análisis facial, tipo de piel, ingredientes cosméticos, python, visual, base de datos, recomendaciones personalizadas, interfaz intuitiva, evidencia científica, industria cosmética, MAVA. Proyecto De Grado - MAVA 9 Abstract Skin care has evolved with scientific and technological advancements, but misinformation and the overwhelming variety of products make it difficult to choose the right one. MAVA emerges as an innovative application that, through facial image analysis and machine learning, identifies skin type and suggests ingredients based on scientific studies. Developed in Visual using the Python programming language, it optimizes databases and offers an intuitive interface to provide quick and reliable recommendations. More than just personalizing skin care, MAVA combats misinformation and offers an accessible, evidence- based alternative in the cosmetic industry. Keywords: skin care, misinformation, artificial intelligence, machine learning, facial analysis, skin type, cosmetic ingredients, python, visual (development environment), database optimization, personalized recommendations, intuitive interface, scientific evidence, cosmetic industry, MAVA. Proyecto De Grado - MAVA 10 Introducción El presente documento se encuentra estructurado en distintas secciones que permiten comprender de forma integral el desarrollo del proyecto MAVA. Inicia con un resumen ejecutivo, seguido de la introducción, la justificación y los objetivos general y específicos. Posteriormente, se describe la situación problema, el marco teórico, y se realiza un análisis de requerimientos y restricciones. Se explican también los métodos de selección y desarrollo, y se detalla su aplicación mediante fases como el product backlog, la arquitectura de solución, el modelo de datos, el prototipo no funcional, la implementación y las pruebas de calidad. Finalmente, se presentan las conclusiones y posibles pasos futuros. El cuidado de la piel es una práctica ancestral que ha evolucionado con el tiempo, adaptándose a descubrimientos científicos, tendencias y necesidades individuales. Sin embargo, en un mundo donde la oferta de productos cosméticos es inmensa y las rutinas de cuidado varían de persona a persona, identificar los ingredientes adecuados puede convertirse en un desafío. Muchas veces, las decisiones se basan en recomendaciones generalizadas o tendencias del mercado, sin considerar las particularidades de cada piel. En este contexto, la inteligencia artificial (IA) ofrece una oportunidad innovadora para personalizar el cuidado cutáneo, proporcionando recomendaciones basadas en el análisis de características específicas. MAVA surge con este propósito: una aplicación diseñada para identificar el tipo de piel mediante el procesamiento de imágenes faciales y ofrecer sugerencias de ingredientes activos adecuados, todo ello respaldado por tecnología avanzada y evidencia científica. Este proyecto se desarrolla con un enfoque interdisciplinario, combinando conocimientos de ingeniería química e ingeniería de sistemas para abordar un problema que afecta a una amplia Proyecto De Grado - MAVA 11 población. El sistema utilizará modelos de IA para analizar imágenes y clasificar tipos de piel en función de patrones visuales, sin reemplazar en ningún momento la evaluación dermatológica profesional. A partir de esta clasificación, el sistema accederá a una base de datos especializada en ingredientes cosméticos, ofreciendo a los usuarios recomendaciones personalizadas sobre componentes activos que podrían beneficiar su piel. Este enfoque no solo facilita el acceso a información basada en datos, sino que también contribuye a una toma de decisiones más informada en el ámbito del cuidado personal. El desarrollo de MAVA no solo representa un avance en la intersección entre tecnología y cuidado de la piel, sino que también abre nuevas posibilidades en la personalización del bienestar. Con el crecimiento de la inteligencia artificial en la industria cosmética, este proyecto busca sentar un precedente sobre cómo la tecnología puede ser una aliada en la comprensión de las necesidades individuales de la piel. A través de esta investigación, se espera no solo ofrecer una solución innovadora, sino también aportar conocimientos valiosos sobre la relación entre los ingredientes activos y los diferentes tipos de piel, promoviendo un enfoque más informado y accesible en el cuidado dermatológico. Proyecto De Grado - MAVA 12 Objetivos Objetivo Generalxs Desarrollar una aplicación web que identifique el tipo de piel a partir de imágenesfaciales y recomiende componentes específicos, mediante el uso de análisis de datos e inteligencia artificial. Objetivo Específicos Determinar el modelo de inteligencia artificial más adecuado en la clasificación de tipos de piel en el contexto del proyecto. Implementar un proceso sencillo y adaptable para recolectar información sobre ingredientes, considerando las diferentes condiciones de la piel a analizar. Desarrollar un sistema de recomendación que relacione los tipos de piel con los ingredientes, a través de una base de datos respaldada por evidencia científica. Proyecto De Grado - MAVA 13 Definición Del Problema Según Begum (2024), en los últimos años, el interés en el cuidado de la piel ha crecido exponencialmente, lo que ha impulsado un aumento en la compra de productos dirigidos a este fin. Internet se ha convertido en la principal fuente de información para conocer sobre belleza y cuidado, además de influir en las decisiones de compra. Aunque en redes sociales están presentes profesionales de la salud que brindan información confiable, la circulación de consejos de personas no expertas también es común, lo que ha llevado a la divulgación de información errónea sobre el uso correcto de productos según los tipos de piel. Es bien sabido que cada piel es distinta y requiere productos y rutinas de acuerdo con sus necesidades. Sin embargo, la exposición constante a información inexacta sobre los diferentes tipos de piel puede derivar en el uso de productos inadecuados, lo que podría causar reacciones adversas y a veces incluso agravar condiciones de la piel ya existentes (Mazilu, 2025). Por otro lado, el acceso a dermatólogos no siempre es posible para muchas personas, lo que las lleva a confiar en recomendaciones de influencers en redes sociales. Estos creadores de contenido carecen de conocimientos científicos y, en muchas ocasiones, tienen mayor influencia en las decisiones de los consumidores que los propios expertos en dermatología (Benedict, 2022). Ante esta falta de acceso a profesionales de la piel, han surgido diversas herramientas en línea que permiten a los usuarios crear rutinas de cuidado de la piel, conocer los componentes de los productos que adquieren e incluso utilizar inteligencia artificial para obtener respuestas y recomendaciones. Sin embargo, estas soluciones presentan limitaciones, ya que muchas se basan en descripciones generales o información incompleta y no consideran factores clave como la Proyecto De Grado - MAVA 14 condición de la piel del usuario, la interacción de los ingredientes en las formulaciones o la variabilidad en la reacción cutánea a los productos. Es por ello por lo que surge la necesidad de una aplicación que permita a los usuarios analizar su tipo de piel a través de imágenes reales de sí mismos para reconocer su tipo de piel y recibir recomendaciones personalizadas basadas en ese análisis único. Haciendo uso de la inteligencia artificial se evaluarán características claves de la piel para determinar su tipología y dar sugerencias de componentes ideales según sus necesidades Proyecto De Grado - MAVA 15 Justificación El cuidado de la piel va más allá de una simple rutina de belleza; representa un gesto de cariño hacia uno mismo y un modo de conectar tanto internamente como externamente con las necesidades específicas de cada tipo de piel. A lo largo del tiempo, se han buscado distintas formas de proteger y alimentar la piel, tomando como guía el conocimiento tradicional, tradiciones científicas y, en épocas más modernas, influencias provenientes del mundo digital. En un mundo donde la información se comparte de forma rápida y desordenada, muchas decisiones sobre el cuidado de la piel no se basan en conocimientos reales sino en tendencias pasajeras o estrategias de marketing ampliamente difundidas. Esta falta de conexión entre las necesidades verdaderas de la piel y la información disponible puede llevar al uso de productos inapropiados que no solo resultan ineficaces, sino que también pueden causar daños o empeorar problemas ya existentes. En este escenario se planteó la necesidad de una solución que facilite comprender la piel desde una óptica científica y personalizada para que cada individuo pueda tomar decisiones bien fundamentadas en cuanto a su salud y bienestar se refiere. Es en este contexto donde MAVA surge como una respuesta a dichas exigencias al fusionar la potencia de la inteligencia artificial junto al sincero anhelo de proporcionar una herramientas accesible y confiable. Mediante el estudio de fotografías faciales, la app puede determinar el tipo de piel y sugerir ingredientes activos respaldados por investigaciones científicas, disminuyendo la duda y evitando depender de información sin base sólida. La relevancia de este proyecto radica en su capacidad de unir tecnología y bienestar personal en un solo espacio, facilitando el acceso a información confiable para quienes desean Proyecto De Grado - MAVA 16 comprender mejor su piel y mejorar su cuidado. En una sociedad donde el acceso a dermatólogos no siempre es viable para todas las personas, ya sea por razones económicas, geográficas o de disponibilidad, contar con una herramienta que ofrezca una orientación personalizada basada en evidencia representa un avance significativo. Desde un punto de vista tecnológico, el avance de MAVA permite explorar las posibilidades de la inteligencia artificial en el campo de la belleza y el cuidado personal. A medida que la IA se incorporan cada vez más en diferentes aspectos de la vida diaria, su aplicación en el cuidado de la piel ofrece una oportunidad innovadora para mejorar la precisión en la detección de necesidades cutáneas y la sugerencia de ingredientes eficientes. Este proyecto no solo impulsa el desarrollo tecnológico enfocado en la salud y el bienestar estético, sino que también establece un precedente en cuanto al uso ético. y comprometido/a en el uso de la inteligencia artificial para promover el bienestar individual. Además, el impacto de MAVA trasciende lo individual, ya que promueve una cultura de cuidado basado en información verificada, fomentando una mayor educación sobre los ingredientes cosméticos y su función en la piel. Al ofrecer recomendaciones respaldadas por estudios científicos, la aplicación web se posiciona como una alternativa confiable frente al bombardeo de información errónea que circula en redes sociales y medios digitales. En un mundo donde el bienestar es cada vez más personalizado y donde la tecnología tiene el potencial de ser una aliada en este proceso, MAVA representa un puente entre la ciencia y la cotidianidad, ofreciendo una solución accesible, confiable y significativa. Proyecto De Grado - MAVA 17 Marco Teórico Aplicaciones De La Inteligencia Artificial En Dermatología En un mundo donde la tecnología avanza a un ritmo vertiginoso, la medicina no ha tenido más opción que trabajar a la par para no quedar rezagada. La inteligencia artificial (IA) ha cambiado por completo la forma en que se entiende y practica la medicina, especialmente en dermatología. Gracias a ella, hoy es posible analizar imágenes médicas con mayor precisión, entrenar modelos capaces de identificar enfermedades cutáneas y optimizar la documentación de los historiales clínicos. Tecnologías como la dermatoscopia con IA y las biopsias no invasivas han permitido reducir la necesidad de procedimientos agresivos, haciendo que los diagnósticos sean más rápidos y accesibles. La dermatología, una especialidad donde la observación visual es fundamental, no podía quedarse atrás. Aplicar modelos de aprendizaje automático ha permitido extraer patrones en imágenes cutáneas con una precisión que, en muchos casos, compite con la de un especialista humano (Du-Harpur et al., 2020). Uno de los principales desafíos de la IA en dermatología es la equidad en el diagnóstico, muchos modelos dependen de bases de datos que no siempre incluyen suficientes muestras de diferentes tipos de piel, lo que puede hacer que los resultados sean menos precisos para ciertos grupos de personas. Además, la falta de transparencia en la manera en que estos sistemas generan sus diagnósticos genera desconfianza, tanto en los médicos como en los pacientes (Grzybowski et al., 2024). Para solucionar esto, es clave trabajar en la recolección y almacenamiento de datos más diversos, asegurando que los modelos se entrenen con información representativa y actualizada. Proyecto De Grado - MAVA 18 Los sistemas de recomendación en salud (HRS) han cobrado protagonismo porque ayudan a las personas a tomar mejores decisiones sobre su bienestar. A diferencia de las herramientas diseñadas para médicos, estos sistemas están pensados para usuarios sin conocimientos técnicos, lo que significa que la información debe ser clara y fácil de entender. Según De Croon et al. (2021), los HRS utilizan distintas estrategias para generar recomendaciones. Algunos dependen del filtrado colaborativo, que analiza patrones entre distintos usuarios, mientras que otros utilizan el filtrado basado en contenido, extrayendo información a partir de las preferencias individuales. En dermatología, el uso de bases de datos y la IA no solo ha facilitado el diagnóstico, sino que también ha permitido documentar mejor la evolución de las enfermedades cutáneas. Los dermatólogos han trabajado en la implementación de la fotografía digital como herramienta para el seguimiento de los pacientes, lo que ha hecho posible identificar problemas de la piel con mayor precisión. Sin embargo, este avance también ha traído preocupaciones, especialmente en torno a la manipulación de imágenes con fines engañosos, lo que podría comprometer la veracidad de los registros clínicos. El futuro de la dermatología dependerá de cómo se utilicen estas tecnologías. Ratner et al. (1999) señalan que la combinación de IA y bases de datos seguirá transformando la práctica médica, permitiendo diagnósticos más rápidos y mejorando la comunicación entre especialistas. Pero para que estos avances realmente marquen la diferencia, es necesario priorizar la transparencia y la accesibilidad, asegurando que nadie quede fuera de los beneficios que la tecnología puede ofrecer. En definitiva, la clave no solo está en desarrollar herramientas más avanzadas, sino en aplicarlas de manera responsable para que realmente mejoren la atención médica y la calidad de vida de las personas. Proyecto De Grado - MAVA 19 Inteligencia Artificial En La Clasificación De Imágenes La visión artificial es una tecnología que ha sido estudiada desde diversas industriar y disciplinas para mejorar y automatizar procesos, esta herramienta permite la extracción de patrones o variables que posteriormente se interpretan para procesar la imagen y obtener información o descripciones específicas (Wiley, 2017). Desde la medicina hasta la agricultura, entregando una herramienta flexible, automatizada, apoyando procesos repetitivos a un bajo costo que no compromete la exactitud de los resultados del procesamiento de imagen, entregando una inspección de calidad, rápida y efectiva (Patel, 2011). Este tipo de inteligencia artificial se centra en la clasificación de imágenes en categorías establecidas según la necesidad del campo que este realizando la investigación (Guo, 2018). Uno de los modelos más conocidos de IA para la clasificación de imágenes son las redes neuronales convolucionales (CNN) que a su vez puede tener varias formas de aplicarse, pero en términos generales, es un modelo de capas con funciones específicas, cuyo enfoque es el aprendizaje a través de la recolección de características únicas de un grupo de imágenes detectando patrones visuales que permitan su clasificación con etiquetas sin importar la condición de la imagen (Teoh, 2023). Para el entrenamiento de redes neuronales se encuentra la biblioteca de código abierto TensorFlow, que funciona a través de grafos y nodos para el cálculo de operaciones matemáticas y las aristas para el transporte del flujo de información, es decir, tensores (Singh, 2020). Estos cálculos son utilices especialmente en el área de la Redes Neuronales Profundas para el reconocimiento de voz, sonido e imagen tales como asistentes de voz, traductores de idiomas y Proyecto De Grado - MAVA 20 detección de enfermedades. TensorFlow también cuenta con colecciones, librerías y suites que facilitan la construcción, entrenamiento y aprendizajes de modelos (Holdroy, 2019). Según Matlab, la tarea de la clasificación de imágenes puede realizarse con la red neuronal ResNet50 pre entrenada que hace parte del módulo de TensorFlow que se conecta con la API de Keras, esta se puede utilizar de diferentes maneras para aprovechar las 50 capas de profundidad que tiene, haciendo uso de pesos pre entrenados en ImageNet o aplicarlas en un modelo creado desde cero para la extracción de características. Las redes residuales (ResNet), utilizan atajos para el aprendizaje de sus capas a través de funciones que representan pequeños cambios que la red aprende y ajusta sin aprender desde cero. Esto significa un aprendizaje más estable y sin degradar el rendimiento del modelo (He et al, 2015). Bases De Datos Y Sistemas De Recomendación En El Ámbito de Salud El avance de la inteligencia artificial (IA) ha transformado la medicina, y en dermatología ha permitido analizar grandes volúmenes de datos para mejorar diagnósticos, tratamientos y seguimiento de enfermedades cutáneas. Su implementación ha optimizado el almacenamiento de información médica, permitiendo diagnósticos más rápidos y precisos mediante el uso de sistemas de aprendizaje profundo. Herramientas como la dermatoscopia asistida por IA y las biopsias no invasivas han sido clave para minimizar la necesidad de procedimientos invasivos y priorizar la detección temprana de patologías. Sin embargo, la integración de la IA en dermatología aún enfrenta desafíos. Es fundamental garantizar que los modelos utilizados sean transparentes y confiables, evitando sesgos que puedan afectar la equidad en los diagnósticos. A su vez, los algoritmos deben entrenar con bases de datos diversas y bien estructuradas para reducir el margen de error y Proyecto De Grado - MAVA 21 asegurar que los resultados sean representativos de diferentes poblaciones (Grzybowski et al., 2024). Además, los costos asociados a estas tecnologías pueden determinar su accesibilidad, lo que hace necesario considerar estrategias para su implementación equitativa. En este contexto, los sistemas de recomendación en salud (HRS) han surgido como herramientas esenciales para proporcionar información personalizada y accesible a los usuarios. A diferencia de los sistemas diseñados exclusivamente para profesionales de la salud, los HRS están orientados a personas sin formación médica, permitiendo la toma de decisiones informadas a través de interfaces intuitivas. Según De Croon et al. (2021), estos sistemas pueden incluir dos enfoques principales: el filtrado colaborativo, que extrae patrones de múltiples usuarios, y el filtrado basado en contenido, que utiliza información previa para proporcionar recomendaciones más precisas. Por otro lado, la fotografía digital ha sido una de las tecnologías más utilizadas en dermatología para documentar casos clínicos y trabajar en la identificación de enfermedades cutáneas. Su integración en plataformas digitales ha permitido a los especialistas almacenar imágenes de alta resolución para analizar la evolución de distintas patologías. Sin embargo, el acceso a herramientas de edición y manipulación digital ha generado preocupaciones sobre la veracidad de los registros clínicos, lo que hace necesario implementar mecanismos que garanticen la autenticidad de las imágenes. Según Ratner et al. (1999), el futuro de la dermatología dependerá de la capacidad de los profesionales para aplicar nuevas tecnologías sin comprometer la ética ni la seguridad del paciente. La combinación de sistemas de imagen con inteligencia artificial y el acceso inmediato a bases de datos bien estructuradas contribuirá a identificar patrones con mayor precisión, Proyecto De Grado - MAVA 22 permitiendo un enfoque más personalizado y eficiente en la atención médica. Al priorizar el desarrollo de herramientas accesibles y equitativas, la IA en dermatología podrá cumplir su verdadero propósito: mejorar la calidad de vida de los pacientes a través de la innovación tecnológica. Composición Y Efectividad De Los Productos Para El Cuidado De La Piel La formulación de productos para el cuidado de la piel depende de una selección precisa de ingredientes y del análisis de su estabilidad química. Factores como la compatibilidad entre compuestos, la biodisponibilidad y la interacción con la piel determinan la eficacia y seguridad de los productos cosméticos (Nanni et al., 2023). La estructura molecular de los ingredientes influye en su penetración y absorción cutánea, lo que impacta directamente en la efectividad del producto. Además, la evaluación de las propiedades fisicoquímicas de la piel, como su nivel de hidratación, producción de sebo y sensibilidad, resulta crucial para garantizar que los productos recomendados sean adecuados para cada tipo de piel. Los avances en tecnología de escaneo facial han permitido la detección de múltiples características cutáneas relevantes para la selección de productos adecuados. A través de imágenes de alta resolución y algoritmos de análisis de textura, se pueden identificar signos de deshidratación, zonas de alta producción sebácea, enrojecimiento, sensibilidad e incluso daño por exposición a la radiación UV. La captura de imágenes multiespectrales permite evaluar la distribución del colágeno y la presencia de hiperpigmentación o inflamación subclínica, lo que proporciona un diagnóstico más detallado de la condición de la piel del usuario. La estabilidad química es un factor clave en el desarrollo de formulaciones para el cuidado de la piel. Parámetros como el pH, la solubilidad y la sensibilidad a la oxidación pueden Proyecto De Grado - MAVA 23 afectar la funcionalidad de los ingredientes activos (Parisapogu et al., 2023). La interacción entre distintos compuestos puede generar sinergias que potencien su eficacia o, en algunos casos, provocar reacciones adversas (Thanh & Nguyen, 2020). Para una predicción más precisa, es necesario evaluar la compatibilidad de los ingredientes con las características específicas de la piel del usuario, como la presencia de afecciones cutáneas o la tendencia a desarrollar reacciones alérgicas. El uso de herramientas computacionales y modelado molecular ha permitido la predicción de la estabilidad y funcionalidad de los productos, favoreciendo el diseño de formulaciones más seguras y adaptadas a diversas necesidades cutáneas (Tarasiewicz et al., 2020). La inteligencia artificial y el análisis de datos han mejorado la capacidad de correlacionar características individuales de la piel con la eficacia de distintos ingredientes, evaluando parámetros químicos como la acidez, la capacidad de retención de agua y la presencia de lípidos en la barrera cutánea. Además, la evaluación de procesos bioquímicos como la peroxidación lipídica y la regulación de la hidratación cutánea permite definir el estado de la piel y determinar los compuestos más adecuados para su tratamiento. Mediante el análisis de imágenes y espectroscopía, es posible identificar patrones asociados a la textura, elasticidad y pigmentación, facilitando la selección de sustancias óptimas para cada tipo de piel. La modelización molecular y el aprendizaje automático han optimizado la predicción de interacciones entre compuestos y biomoléculas cutáneas, mejorando la recomendación de ingredientes activos según las necesidades individuales del usuario. La validación de estas formulaciones mediante estudios de estabilidad química y ensayos clínicos sigue siendo fundamental para garantizar su eficacia y seguridad a largo plazo. Proyecto De Grado - MAVA 24 Restricciones Para que la visión artificial procese y analice imágenes de forma precisa, la calidad y la iluminación de la imagen son fundamentales. La extracción de características depende en gran medida de estos factores. Por ello, las imágenes deben cumplir con los siguientes requisitos: Iluminación equilibrada, evitando tanto la insuficiencia lumínica como la sobreexposición, preferiblemente utilizando luz natural y mínima presencia de sombras y reflejos, ya que pueden generar errores en el análisis El modelo de visión artificial ha sido entrenado exclusivamente para analizar y clasificar la piel en cuatro categorías: grasa, seca, normal y mixta, debido a la limitación del conjunto de datos a estas tipologías. La inteligencia artificial no está diseñada para identificar afecciones dermatológicas específicas, como acné, rosácea o dermatitis, entre otras. Por lo tanto, la aplicación no es adecuada para su uso en contextos donde se requiera un diagnóstico más detallado sobre la condición de la piel. Para garantizar el cumplimiento de normativas de protección de datos, como el Reglamento General de Protección de Datos (GDPR) y la Ley de Protección de Datos Personales, MAVA debe asegurar la confidencialidad y seguridad de la información proporcionada por los usuarios. Todos los datos recolectados, incluyendo imágenes faciales y preferencias de productos, serán almacenados conservando criterios de seguridad de la información, utilizados exclusivamente para el propósito de análisis y recomendación. Además, se deberá obtener el consentimiento informado del usuario antes de recopilar cualquier tipo de información, permitiendo también la eliminación de datos a solicitud del usuario para garantizar su derecho al olvido. Proyecto De Grado - MAVA 25 Dado que MAVA analizará características faciales para determinar el tipo de piel del usuario, es fundamental considerar regulaciones relacionadas con el manejo de información de salud. Aunque la aplicación no sustituye un diagnóstico médico, la clasificación de la piel podría considerarse un dato biomédico sensible. Por esta razón, MAVA deberá cumplir con normativas como la HIPAA en caso de expansión a mercados donde aplique, asegurando que la información no sea compartida con terceros sin autorización expresa del usuario. A pesar de la existencia de más de 10,000 ingredientes cosméticos en el mercado, MAVA trabajará con una base de datos reducida de 2,000 ingredientes más utilizados y documentados en estudios científicos. Esta restricción busca optimizar el rendimiento del sistema y garantizar recomendaciones basadas en evidencia sólida. Como resultado, ciertos ingredientes menos comunes o recientemente incorporados en la industria cosmética podrían no estar contemplados en las sugerencias de la aplicación. MAVA debe garantizar una interfaz intuitiva y accesible, priorizando una navegación sencilla en distintos dispositivos. Se debe implementar compatibilidad con lectores de pantalla y comandos de voz para incluir a usuarios con discapacidades. El análisis del tipo de piel debe depender únicamente de la imagen sin solicitar información previa al usuario. Sin embargo, se debe permitir la retroalimentación para mejorar la precisión del modelo. Para minimizar errores y optimizar la experiencia, la aplicación debe reducir tiempos de carga, aplicar un diseño responsivo y asegurar una interacción fluida. MAVA debe proveer la protección de los datos recolectados mediante encriptación y almacenamiento seguro. Se debe implementar autenticación robusta para minimizar accesos no autorizados y aplicar medidas contra ataques cibernéticos. Para cumplir con normativas como el Proyecto De Grado - MAVA 26 GDPR y la HIPAA, la aplicación debe permitir la eliminación permanente de datos a solicitud del usuario. No se debe compartir información sin autorización expresa. El sistema debe incluir firewalls, monitoreo en tiempo real y actualizaciones constantes para identificar vulnerabilidades y reducir riesgos de seguridad. MAVA debe trabajar con una base de datos reducida de ingredientes cosméticos bien documentados y respaldados por estudios científicos. Se debe priorizar el análisis de aquellos aplicados directamente en la piel y minimizar la inclusión de ingredientes sin evidencia suficiente. La efectividad de los ingredientes puede depender de su absorción y método de aplicación. MAVA no debe sustituir una evaluación profesional ni identificar efectos adversos de ingredientes específicos. Proyecto De Grado - MAVA 27 Análisis De Requerimientos Tabla 1 Historias De Usuario - HU001 HISTORIA DE USUARIO HU001 Subir una foto para análisis Puntos de historia estimados  3 Prioridad Alta  Responsable Desarrollador Descripción Como usuario, quiero poder subir una foto para que el sistema pueda analizar mi tipo de piel con precisión y ofrecer recomendaciones adecuadas, ayudándome a optimizar mi rutina de cuidado. Numero de criterio Criterio de aceptación Atributo de calidad 1 El usuario puede seleccionar y subir una imagen desde su dispositivo. Usabilidad 2 La imagen debe cumplir con los criterios de calidad definidos (resolución mínima, sin filtros, buena iluminación). Fiabilidad 3 Si la imagen no cumple los criterios, el sistema debe mostrar un mensaje de error usabilidad 4 Si la imagen cumple los criterios, el sistema debe mostrar un mensaje de aceptación usabilidad Proyecto De Grado - MAVA 28 5 El sistema debe permitir subir imágenes en formatos JPG y PNG Funcionalidad Tabla 2 Historias De Usuario - HU002 HISTORIA DE USUARIO Identificador Nombre HU002 Analizar tipo de piel Puntos de historia estimados  3 Prioridad Alta  Responsable Desarrollador Descripción Como usuario, quiero que la IA analice mi foto y me indique si mi piel es seca, mixta o grasa, para poder elegir los productos y rutinas ideales según los resultados. Numero de criterio Criterio de aceptación Atributo de calidad 1 La IA debe procesar la imagen y detectar el tipo de piel del usuario Fiabilidad 2 El tiempo de procesamiento no debe superar los 10s Rendimiento 3 El usuario debe recibir a detalle el resultado del análisis usabilidad Proyecto De Grado - MAVA 29 Tabla 3 Historias De Usuario - HU003 HISTORIA DE USUARIO Identificador Nombre HU003 Recomendación de componentes Puntos de historia estimados  2 Prioridad Alta  Responsable Desarrollador Descripción Como usuario, quiero recibir recomendaciones de componentes específicos para mi tipo de piel para elegir productos que mejoren su apariencia y aborden mis necesidades particulares. Numero de criterio Criterio de aceptación Atributo de calidad 1 El sistema debe generar una lista de componentes basados en el tipo de piel detectado Funcionalidad 2 El sistema debe incluir al menos 3 opciones para cada tipo de piel Funcionalidad 3 Cada componente debe incluir una breve descripción. Usabilidad Tabla 4 Historias De Usuario - HU004 Proyecto De Grado - MAVA 30 HISTORIA DE USUARIO Identificador Nombre HU004 Interfaz responsive Puntos de historia estimados  2 Prioridad Media Responsable Frontend Descripción Como usuario, quiero que la aplicación se adapte automáticamente a mi dispositivo, para que pueda usarla sin complicaciones desde mi teléfono, tableta o computadora. Numero de criterio Criterio de aceptación Atributo de calidad 1 La aplicación debe adaptarse a los diferentes tamaños de pantallas sin perder su navegabilidad. Usabilidad 2 Utilizar un framework para asegurar estilos consistentes y mantener una armonía visual en la página. Mantenibilidad 3 La navegación y botones deben ser de fácil acceso e intuitivos sin importar el dispositivo. Accesibilidad Tabla 5 Historias De Usuario - HU005 HISTORIA DE USUARIO Proyecto De Grado - MAVA 31 Identificador Nombre HU005 Seguridad de imágenes Puntos de historia estimados  2 Prioridad Alta  Responsable Seguridad Descripción Como usuario, quiero que mis fotos sean protegidas y no se almacenen sin mi consentimiento, para sentirme seguro de que mi información personal está resguardada. Numero de criterio Criterio de aceptación Atributo de calidad 1 Las imágenes cargadas a la IA no deben almacenarse en el servidor sin permiso del usuario. Seguridad 2 Las imágenes almacenadas en los servidores deben estar cifradas. Seguridad 3 Se debe informar al usuario sobre tratamiento de datos (Habeas Data). usabilidad Tabla 6 Historias De Usuario - HU006 HISTORIA DE USUARIO Identificador Nombre HU006 Escalabilidad de sistema Proyecto De Grado - MAVA 32 Puntos de historia estimados  3 Prioridad Alta  Responsable Backend Descripción Como administrador, quiero que la plataforma procese múltiples análisis simultáneos sin afectar el rendimiento, para asegurar que los usuarios reciban resultados rápidos y el uso de recursos se mantenga óptimo. Numero de criterio Criterio de aceptación Atributo de calidad 1 El sistema debe soportar al menos 1000 usuarios simultáneos sin degradación del rendimiento. Escalabilidad 2 Las respuestas de la IA no deben tardar más de 10 segundos en condiciones normales de carga. Rendimiento 3 El sistema debe permitir la ejecución de análisis en paralelo sin afectar la respuesta de otros usuarios. Funcionalidad Tabla 7 Historias De Usuario - HU007 HISTORIA DE USUARIO Identificador Nombre HU007 Validación de datos Puntos de historia estimados  3 Proyecto De Grado - MAVA 33 Prioridad Alta Responsable Desarrollo Descripción Como administrador, quiero que los datos que envío sean validados en el servidor, para asegurar que la información es correcta y evitar errores durante el procesamiento. Numero de criterio Criterio de aceptación Atributo de calidad 1 La aplicación debe rechazar imágenes que no cumplan con los requisitos. Fiabilidad 2 Si las precondiciones son correctas, se enviará la petición a la IA sin que está falle. Correctitud 3 El usuario debe recibir mensajes que le permitan saber si hay error y como corregirlo. Usabilidad Proyecto De Grado - MAVA 34 Metodología De Selección Y Desarrollo Nuestra metodología se basa en un análisis integral de los compuestos químicos presentes en los productos de cuidado de la piel, sin estar sujetos a sesgos de marcas, laboratorios o productos comerciales específicos. Esto nos permite evaluar de manera objetiva y científica la efectividad de los ingredientes activos, garantizando recomendaciones basadas en evidencia y no en intereses comerciales. A diferencia de laboratorios y marcas comerciales, que formulan productos dentro de su propia línea, nuestra metodología se enfoca en la evaluación individual de los compuestos, considerando su estructura molecular, estabilidad química y compatibilidad con la piel. The Ordinary, por ejemplo, desarrolla productos accesibles con ingredientes activos clave, pero su catálogo está limitado a sus propias formulaciones. La Roche-Posay, especializada en dermocosmética, basa sus estudios en sus propias líneas de productos, lo que introduce un sesgo en la selección de ingredientes. SkinCeuticals, por su parte, centra su investigación en antioxidantes y tratamientos específicos, orientando su enfoque hacia la validación de su propia gama de productos. Además de los laboratorios, existen aplicaciones de análisis cosmético como INCIDecoder, Skincarisma y Yuka, que permiten a los usuarios conocer los ingredientes de productos comerciales. Sin embargo, estas herramientas suelen basarse en criterios de riesgo generalizados sin considerar factores clave como la concentración de los ingredientes, su sinergia dentro de la formulación y su interacción con distintos tipos de piel. Nuestra metodología se distingue por su enfoque en los compuestos químicos en lugar de marcas o productos específicos. Utilizamos una base de datos abierta que integra información de Proyecto De Grado - MAVA 35 múltiples fuentes científicas, normativas y estudios especializados para proporcionar una evaluación precisa y fundamentada. Este análisis sin sesgos comerciales nos permite centrarnos en la eficacia real de los ingredientes, asegurando formulaciones basadas en la estabilidad química y en la interacción óptima con la piel. Este enfoque nos permite desarrollar una herramienta más objetiva y confiable para la selección de ingredientes en productos de cuidado de la piel. Al eliminar barreras comerciales y basarnos en datos científicos, facilitamos una toma de decisiones más informada y transparente, promoviendo el uso de ingredientes efectivos y seguros para cada tipo de piel. Para abordar este proyecto, hemos seleccionado un conjunto de herramientas y tecnologías que pueden garantizar un sistema eficiente, escalable y de alto rendimiento en el procesamiento de imágenes y la implementación de modelos de aprendizaje profundo. Cada tecnología fue seleccionada en función de lo bien que cumplía con los objetivos del proyecto y la cantidad de problemas de integración y desarrollo del sistema que podría causar. TensorFlow fue seleccionado como la biblioteca principal para el desarrollo del modelo de aprendizaje profundo debido a su flexibilidad y alto rendimiento. Su compatibilidad con GPU y TPU permite acelerar el entrenamiento de modelos, lo que resulta esencial para tareas que requieren gran capacidad de procesamiento. Además, cuenta con una comunidad activa y una amplia documentación, lo que facilita su implementación y solución de problemas. El modelo ResNet50 fue elegido debido a su capacidad para mejorar el reconocimiento de imágenes mediante el uso de conexiones residuales, las cuales mitigan el problema del desvanecimiento del gradiente en redes neuronales profundas. Su arquitectura optimizada Proyecto De Grado - MAVA 36 permite entrenar modelos más precisos sin sacrificar eficiencia, lo que lo convierte en una opción ideal para aplicaciones de clasificación de imágenes. Python es el lenguaje de programación base del proyecto, seleccionado por su sintaxis clara, versatilidad y compatibilidad con una gran variedad de bibliotecas enfocadas en machine Learning, Deep Learning y procesamiento de datos. Gracias a su popularidad en la comunidad científica y su integración con herramientas como TensorFlow, su uso permite desarrollar soluciones eficientes y escalables en menor tiempo. Para la implementación del backend, se optó por FastAPI debido a su alto rendimiento y facilidad de uso. Permite desarrollar APIs rápidas y escalables, con soporte para validación automática de datos y documentación integrada, lo que facilita la interacción con otros componentes del sistema. Además, su compatibilidad con Python permite una integración fluida con TensorFlow, haciendo el modelo como un servicio accesible a través de la web. En cuanto al almacenamiento de datos, se eligió MongoDB debido a su naturaleza NoSQL, que permite manejar información de manera flexible y eficiente. Su capacidad para gestionar grandes volúmenes de datos no estructurados, como metadatos de imágenes y resultados de inferencias, lo convierte en una alternativa óptima para este proyecto. Finalmente se seleccionó Postman este cumple un rol clave en la validación y prueba de la comunicación entre el backend y la base de datos. Si bien suele utilizarse para probar APIs, en este caso se emplea para verificar que las operaciones con MongoDB, como la inserción, consulta y actualización de datos, se realicen correctamente. Proyecto De Grado - MAVA 37 Sistema De Costos Para Creación De Aplicación Web Tabla 8 Costos Costos De Investigación Y Desarrollo Nombre Horas Trabajadas Valor De La Hora Total María Paula Domínguez 15 $ 75.000 $ 1.125.000 Laura Valentina Rivera 15 $ 68.000 $ 1.020.000 María José Gómez 15 $ 68.000 $ 1.020.000 45 $ 3.165.000 Costos De Mano De Obra Nombre Horas Trabajadas Valor De La Hora Total María Paula Domínguez 35 $ 75.000 $ 2.625.000 Laura Valentina Rivera 20 $ 68.000 $ 1.360.000 María José Gómez 20 $ 68.000 $ 1.360.000 75 $ 5.345.000 Costos Indirectos De Producción Proyecto De Grado - MAVA 38 Gastos Generales Valor Real Total Costos De Investigación Y Desarrollo $ 3.165.000 Costos De Mano De Obra $ 5.345.000 Costos Indirectos De Producción (Electricidad) $ 500.000 Total De Costos De Produccion $ 9.010.000 Total De Ganancia Esperada $ 7.208.000 Total De Costo De Venta $ 16.218.000 Proyecto De Grado - MAVA 39 Aplicación Del Método De Desarrollo Para el desarrollo del proyecto MAVA se aplicó un enfoque metodológico basado en la combinación de análisis técnico riguroso y metodologías ágiles, específicamente el marco de trabajo Scrum, lo que permitió avanzar de manera iterativa y ordenada hacia un prototipo funcional y validado. El punto de partida fue la definición de una metodología de evaluación objetiva de ingredientes cosméticos, centrada no en marcas ni productos comerciales, sino en las propiedades químicas individuales de los compuestos activos. A diferencia de las aproximaciones tradicionales de la industria, que están condicionadas por catálogos propios o intereses de mercado, nuestro enfoque se fundamentó en el análisis de la estructura molecular, estabilidad química y compatibilidad con la piel de cada ingrediente, lo que garantiza una selección libre de sesgos y respaldada por literatura científica. Esta metodología se operacionalizó mediante la construcción de una base de datos personalizada, que fue alimentada con información de fuentes académicas, normativas internacionales y catálogos técnicos de ingredientes aprobados dermatológicamente. La base contempla campos como tipo de piel recomendado, categoría funcional del ingrediente y descripción técnica detallada. Esta información alimenta directamente el sistema de recomendación basado en IA. En paralelo, y para asegurar un desarrollo estructurado del sistema, se adoptó el enfoque ágil Scrum, lo cual facilitó la organización del trabajo en ciclos iterativos y entregables frecuentes. La primera fase consistió en la creación del Product Backlog, donde se definieron las funcionalidades clave del sistema desde la perspectiva del usuario final. A partir de ello, se Proyecto De Grado - MAVA 40 redactaron las Historias de Usuario, que fueron priorizadas y detalladas con sus respectivos criterios de aceptación, estimaciones de esfuerzo y responsables asignados (como se documenta en la sección de análisis de requerimientos). Cada historia fue diseñada con atributos de calidad específicos —como usabilidad, fiabilidad o rendimiento— y reflejó funcionalidades concretas como: subir una foto para análisis (HU001), analizar tipo de piel (HU002), generar recomendaciones personalizadas (HU003), ofrecer una interfaz responsive (HU004), garantizar la seguridad de imágenes (HU005), asegurar la escalabilidad del sistema (HU006), y validar datos correctamente (HU007). Estas historias fueron la base para el desarrollo de los casos de uso, que permitieron establecer el alcance funcional del sistema y definir flujos específicos de interacción entre el usuario y la plataforma. Esta transición del análisis al diseño permitió identificar los puntos críticos de la arquitectura y definir los módulos principales del sistema: análisis de imagen, clasificación de tipo de piel, recomendación de ingredientes, almacenamiento seguro de datos y gestión del consentimiento informado. Desde el punto de vista tecnológico, el desarrollo se sustentó en herramientas robustas y probadas. Se utilizó Pythoncomo lenguaje de programación base por su versatilidad y fuerte integración con bibliotecas de inteligencia artificial. Para el entrenamiento de modelos se seleccionó TensorFlow, por su capacidad de procesamiento paralelo y compatibilidad con GPU/TPU. El modelo ResNet50, una red neuronal convolucional profunda, fue el elegido para la clasificación de imágenes por su rendimiento comprobado en tareas de visión artificial. El backend fue implementado con FastAPI, lo que permitió exponer los modelos entrenados como servicios web accesibles mediante endpoints REST. Se utilizó MongoDB como Proyecto De Grado - MAVA 41 base de datos NoSQL para almacenar datos de consentimiento de usuarios, por su capacidad de manejar estructuras flexibles y su alta escalabilidad. La herramienta Postman facilitó la validación de estos servicios, permitiendo realizar pruebas controladas de inserción, consulta y actualización de datos. El frontend se diseñó con un enfoque mobile-first, aplicando un estilo visual coherente a través de style.css y funcionalidades dinámicas en JavaScript. Las tres páginas principales (inicio, análisis, resultados) fueron concebidas para guiar al usuario de forma natural, priorizando la claridad y la accesibilidad. Elementos clave como el modal de consentimiento, el cargador de imágenes, la vista previa con zoom, el sistema de validación y el carrusel de resultados fueron desarrollados de forma iterativa conforme a las funcionalidades definidas en el backlog. Gracias a este enfoque metodológico, el proyecto no solo alcanzó sus objetivos funcionales, sino que también aseguró trazabilidad, escalabilidad y calidad técnica. Cada etapa, desde la construcción del backlog, la validación de historias de usuario, hasta la implementación del frontend y backend, respondió a un plan metodológico claro, que permitió construir una solución coherente, técnicamente sólida y alineada con las necesidades reales de los usuarios. Proyecto De Grado - MAVA 42 Pila De Producto Tabla 9 Product Backlog 1 Código HU Rol Requerimiento ¿Para Qué? Criterios De Aceptación HU001 Usuario Subir una foto para análisis Para que el sistema pueda analizar mi tipo de piel con precisión y ofrecer recomendaciones adecuadas. 1. El usuario puede seleccionar y subir una imagen desde su dispositivo.2. La imagen cumple con los criterios de calidad definidos (resolución mínima, buena iluminación).3. Si no cumple, el sistema muestra un mensaje de error.4. Si cumple, el sistema muestra confirmación.5. Se admiten formatos JPG y PNG. Tabla 10 Product Backlog 2 Código HU Rol Requerimiento ¿Para Qué? Criterios De Aceptación HU002 Usuario Analizar tipo de piel Para que la IA identifique si mi piel es seca, mixta o grasa y me ayude a elegir productos y rutinas. 1. La IA procesa la imagen y detecta el tipo de piel.2. El tiempo de procesamiento no supera los 10 s.3. El usuario recibe un resultado detallado del análisis. Tabla 11 Proyecto De Grado - MAVA 43 Product Backlog 3 Código HU Rol Requerimiento ¿Para Qué? Criterios De Aceptación HU003 Usuario Recomendación de componentes Para recibir ingredientes específicos según mi tipo de piel y mejorar mi rutina de cuidado. 1. El sistema genera una lista de componentes basados en el tipo de piel detectado.2. Incluye al menos 3 opciones por tipo de piel.3. Cada componente va acompañado de una breve descripción. Tabla 12 Product Backlog 4 Código HU Rol Requerimiento ¿Para Qué? Criterios De Aceptación HU004 Usuario Interfaz responsive Para que la aplicación se adapte automáticamente a mi teléfono, tableta o computadora. 1. Se adapta a diferentes tamaños de pantalla sin perder navegabilidad.2. Se usa un framework para asegurar estilos consistentes.3. Los botones y la navegación son accesibles e intuitivos en todo dispositivo. Tabla 13 Product Backlog 5 Proyecto De Grado - MAVA 44 Código HU Rol Requerimiento ¿Para Qué? Criterios De Aceptación HU005 Usuario Seguridad de imágenes Para sentirme seguro de que mis fotos no se almacenan sin mi permiso. 1. Las imágenes no se almacenan sin consentimiento explícito.2. Las imágenes guardadas están cifradas.3. Se informa al usuario sobre el tratamiento de datos (Habeas Data). Tabla 14 Product Backlog 6 Código HU Rol Requerimiento ¿Para Qué? Criterios De Aceptación HU006 Administrador Escalabilidad de sistema Para que múltiples usuarios puedan analizar su piel simultáneamente sin degradar el rendimiento. 1. Soporta al menos 1 000 usuarios concurrentes sin degradación.2. Cada análisis responde en menos de 10 s en condiciones normales.3. Permite procesamiento paralelo de peticiones. Tabla 15 Product Backlog 7 Proyecto De Grado - MAVA 45 Código HU Rol Requerimiento ¿Para Qué? Criterios De Aceptación HU007 Administrador Validación de datos Para asegurar que los datos enviados sean correctos y evitar errores en el procesamiento. 1. Rechaza imágenes que no cumplan los requisitos de formato o calidad.2. Solo envía a la IA peticiones con precondiciones correctas.3. Informa al usuario cómo corregir cualquier error. Proyecto De Grado - MAVA 46 Análisis De Arquitectura Y Diseño Tabla 16 Analisis De Arquitectura Y Diseño Nombre Del Caso De Uso Funcionalidad Historias De Usuario Vinculadas Flujo Principal Flujo Alterno Dar consentimiento Muestra un modal con la política de tratamiento de datos y almacena el consentimiento del usuario. HU005 1. Usuario abre la aplicación.2. Sistema despliega modal de consentimiento.3. Usuario acepta.4. Sistema registra el consentimiento y habilita la carga de imagen. 3a. Usuario rechaza: 4a. Sistema impide avanzar y muestra mensaje de que debe aceptar para continuar. Subir imagen para análisis Permite al usuario seleccionar y enviar una imagen al sistema. HU001 1. Usuario elige “Subir foto”.2. Sistema abre selector de archivos.3. Usuario selecciona imagen.4. Sistema muestra vista previa y botón de “Analizar”. 4a. El formato o la calidad es inválida: 4b. Sistema notifica error y sugiere corregir (p. e. iluminación, formato). Validar datos de entrada Comprueba que la imagen cumple criterios de formato y calidad antes de enviarla al motor de IA. HU007 1. Tras la selección, el sistema valida formato (JPG/PNG) y calidad mínima.2. Si es válido, habilita el análisis.3. Si hay fallo, informa al usuario de cómo corregir. 2a. Validación fallida: sistema bloquea “Analizar” y muestra recomendaciones para una foto válida. Proyecto De Grado - MAVA 47 Analizar tipo de piel Envía la imagen al backend, invoca al modelo de IA y recibe la categoría de piel (seca, mixta, grasa o normal). HU002 1. Usuario pulsa “Analizar mi piel”.2. Sistema envía imagen al endpoint /prediction.3. Backend procesa con el modelo IA.4. Devuelve tipo de piel y porcentaje de confianza.5. Frontend almacena el resultado y redirige a resultados.html. 3a. Error en el modelo o timeout: 3b. Backend devuelve mensaje de error; 3c. Frontend lo muestra y ofrece reintentar o contactar soporte. Generar recomendaciones A partir del tipo de piel, consulta la base de datos de ingredientes y el modelo multilabel para seleccionar al menos 3 componentes adecuados. HU003 1. Backend recibe tipo de piel.2. Consulta base de datos y modelo de recomendación.3. Selecciona al menos 3 ingredientes.4. Extrae descripciones.5. Devuelve lista JSON al frontend. 2a. No hay suficientes ingredientes en la categoría:2b. Devuelve los disponibles y alerta sobre la limitación. Mostrar resultados al usuario Presenta al usuario su tipo de piel identificado y despliega un carrusel con las recomendaciones de ingredientes, incluyendo nombre y descripción breve. HU002, HU003 1. Usuario llega a resultados.html.2. Frontend lee resultados de localStorage.3. Muestra “Gracias” y tipo de piel en un banner.4. Despliega carrusel con ingredientes.5. Usuario navega entre tarjetas. 2a. No hay datos en localStorage: 2b. Frontend muestra mensaje de “No se encontraron resultados” y sugiere repetir análisis. Proyecto De Grado - MAVA 48 Arquitectura Del Software Figura 1. Diagrama De Contexto Nota. Diagrama realizado en Miro. Figura 2. Diagrama De Contenedores Proyecto De Grado - MAVA 49 Nota. Diagrama realizado en Miro. Figura 3. Diagrama De Componentes Proyecto De Grado - MAVA 50 Nota. Diagrama realizado en Miro Proyecto De Grado - MAVA 51 Modelo De Datos Estructura de Colección y Documentos La base de datos del proyecto, MongoDB, tiene una estructura poco compleja, ya que al ser una aplicación web que prioriza la experiencia del usuario y su privacidad, no guarda datos más allá del nombre del usuario, su correo electrónico y si acepta el consentimiento de tratamiento de datos, es decir que este se guarda como un dato booleano en la base de datos. La estructura de los datos se creó con el esquema Pyndantic para validación de los datos, Esta validación asegura que los campos enviados desde el frontend (como el nombre, correo electrónico y consentimiento informado) cumplan con los formatos esperado para luego ser enviados de manera correcta a la base de datos donde se almacenan, al ser una base de datos NoSQL, en formato JSON de la siguiente manera: _id: ObjectId('68379a145244b717c04c1291') name: "Usuario de Prueba" email: "prueba@correo.com" agreement: true Figura 4 Estructura De La Base De Datos No Relacional Proyecto De Grado - MAVA 52 Nota. La base de datos solo cuenta con una colección de usuarios que dentro tiene los documentos conformados por los datos del usuario y su consentimiento. Diccionario De Datos Tabla 17 Tabla De Diccionario De Datos. Variable Detalles Tipo de Variable Validación id Identificador único del usuario dado por MongoDB. ID Se asigna inmediatamente el usuario acepta el consentimiento y procede al análisis. name Nombre del usuario. String Obligatorio. No acepta valores numéricos y no puede estar vacío. Proyecto De Grado - MAVA 53 email Correo del usuario. EmailStr Obligatorio. No puede estar vacío y no puede ser algo diferente a un correo electrónico. agreement Consentimiento. booleano Obligatorio. Si el usuario no lo acepta, no puede pasar a la página del análisis. Proyecto De Grado - MAVA 54 Prototipo No Funcional Consideraciones De UX/UI Diseño Centrado En El Usuario La interfaz de MAVA está diseñada para ser intuitiva y accesible desde el primer contacto. El mensaje principal, "Conoce tu piel", es claro y está visualmente jerarquizado, guiando al usuario paso a paso: desde la bienvenida, pasando por el consentimiento, la subida de imagen, el análisis con IA, hasta la entrega personalizada de resultados. Jerarquía Visual Clara Se ha aplicado una jerarquía tipográfica efectiva, destacando títulos con la fuente Josefin Sans en tamaños grandes (hasta 8rem), subtítulos en Open Sauce, y descripciones en Garet, facilitando la lectura y diferenciación de secciones. Paleta De Colores Coherente Y Emocional Los tonos café claro y oscuro, combinados con blanco, generan una estética cálida y natural, coherente con el enfoque de bienestar y cuidado personal. El contraste asegura legibilidad, mientras que los colores transmiten confianza y sofisticación. Animaciones Suaves Y Útiles La interfaz incorpora animaciones discretas (slideInLeft, aparecerZoom, etc.) que mejoran la experiencia sin distraer. Estas transiciones ayudan a captar la atención y guían el flujo visual, especialmente en elementos como los bloques informativos o los resultados del análisis. Proyecto De Grado - MAVA 55 Interacciones Guiadas Y Progresivas El flujo del usuario está cuidadosamente estructurado: Botón principal ("Empieza ahora") revela contenido oculto de forma progresiva. El consentimiento se solicita antes de subir la imagen, garantizando claridad ética. Se guía la toma de foto con consejos visuales y texto descriptivo. El análisis es automático, y los resultados se entregan de forma visual y dinámica (carrusel con flechas y puntos indicadores). Responsive Design El sitio es completamente responsive, adaptado a pantallas pequeñas y medianas (media queries para ≤600px y ≤992px). Se reestructuran columnas, se ajustan tamaños de fuente, contenedores y botones, garantizando una experiencia coherente en móviles, tablets y escritorio. Inclusión De Accesibilidad Se incluyen etiquetas semánticas correctas (
,
,
, aria- modal, aria-labelledby), uso de contrastes adecuados y un enfoque centrado en la claridad textual y visual para facilitar la navegación a personas con distintos niveles de habilidad digital. Retroalimentación Inmediata Cada interacción brinda respuesta clara al usuario: Confirmación visual al cargar una imagen. Cambios de texto en botones (ej. "Seleccionar imagen" → "Cambiar imagen"). Proyecto De Grado - MAVA 56 Mensajes de error visibles ante formatos no válidos. Resultados del análisis cargados dinámicamente según el tipo de piel. Estilo Visual y Consideraciones Éticas El diseño de MAVA apuesta por una estética moderna y limpia, con espacios en blanco bien distribuidos, bordes suaves e imágenes seleccionadas cuidadosamente para reforzar su identidad sin saturar al usuario. Esta simplicidad visual se complementa con un enfoque ético claro: el uso de un modal de consentimiento obligatorio refleja el respeto por la privacidad y la transparencia en el tratamiento de datos, fortaleciendo la confianza desde el inicio. Mockups - Wireframes La inspiración del prototipo nació de la necesidad de guiar al usuario con claridad a lo largo de todo el flujo definido en la Guía 4, de modo que cada pantalla se construyó sobre una rejilla de doce columnas que organiza logotipo y título en la parte superior, contenido en el centro y acciones en el pie. Esto facilita la adaptación al modo móvil, tableta o escritorio sin perder coherencia ni jerarquía, y asegura que el foco siempre caiga sobre el botón principal o la información más relevante. La paleta cromática se limitó a tres tonos —café claro, café oscuro y blanco— elegidos tras analizar fotografías de envases cosméticos minimalistas y ambientes relajantes. El café claro aporta calidez y suavidad a los fondos, el café oscuro refuerza la legibilidad de la tipografía principal y el blanco actúa como espacio de respiro para evitar sensación de sobrecarga visual. Estos colores, pensados para transmitir cercanía y naturalidad, fueron primero cuantificados en escala de grises dentro de los wireframes para validar jerarquías sin distracciones cromáticas. Proyecto De Grado - MAVA 57 Para bosquejar los wireframes de baja fidelidad en Figma usamos tipografías sans-serif genéricas en tamaños XL para títulos, base para párrafos y SM para anotaciones o mensajes de error. Las zonas interactivas se dibujaron como bloques de bordes redondeados y áreas amplias para anticipar una experiencia táctil cómoda. Gracias a este prototipo, iteramos rápidamente con stakeholders, ajustamos espaciados y flujos alternos (errores de validación, timeouts) y sentamos las bases para las futuras maquetas de alta fidelidad y la implementación front-end. Figura 5 Mockups MAVA Nota. Wireframes hecho para hacer la aplicación web de MAVA. Proyecto De Grado - MAVA 58 Implementación Creación Del Frontend Visión General El frontend de MAVA es la experiencia visual y funcional que guía al usuario desde el primer contacto hasta la entrega de recomendaciones personalizadas. No se trata solo de diseño; se trata de crear un entorno amigable, cálido, intuitivo y profesional, que conecte de forma empática con las personas interesadas en el cuidado de su piel. El proyecto ahora consta de tres páginas principales y un archivo de estilos unificado, además de una carpeta de imágenes de soporte: indice.html. Presentación del proyecto, interacción inicial y consentimiento del usuario. analisis.html. Página para subir una imagen y activar el análisis con IA. resultados.html. Página que muestra el tipo de piel detectado y los ingredientes recomendados. style.css. Estilo visual común a todo el proyecto. Estilos Visuales (style.css) El archivo CSS define una estética coherente: tonos cálidos, diseño minimalista, animaciones suaves y un enfoque mobile-first. Las variables definidas (--cafe-claro, --blanco, -- font-main, etc.) actúan como paleta base reutilizable en todo el proyecto. Los efectos visuales destacados incluyen: Proyecto De Grado - MAVA 59 Animaciones De Entrada. Efectos tipo slide, zoom o fade para resaltar componentes clave. Diseño Responsive. Comportamiento adaptable en móviles y tablets sin perder claridad visual. Glassmorphism Y Botones Animados. Especialmente en secciones tipo banner o formularios. Carruseles Y Tarjetas Animadas. Tanto para beneficios como para recomendaciones de ingredientes. Modal de consentimiento con foco en accesibilidad, claridad y diseño centrado en el usuario. indice.html – Página Principal Esta página es el corazón introductorio del proyecto. Presenta la marca “MAVA” con un enfoque visual claro y elegante, seguido de una experiencia de scroll animado que guía al usuario por varias secciones: Hero Inicial. Logo, subtítulo y un botón “Empieza Ahora” que activa las secciones internas. Características Principales. Presentadas con tarjetas animadas tipo óvalo que se desplazan horizontalmente. Beneficios. Secciones organizadas por grilla con íconos y textos explicativos. Proyecto De Grado - MAVA 60 Sobre MAVA. Narrativa clara sobre la misión y el origen del nombre. ¿Cómo Funciona MAVA?. Guía visual de tres pasos (subir foto, análisis, recomendaciones). Sección Final Con Banner + Preguntas Frecuentes. Preguntas rotativas con animación y respuestas directas. Consentimiento Ético. El botón de acción final abre un modal claro y funcional que recoge nombre, correo y confirmación del usuario para continuar al análisis. Esta decisión refuerza el enfoque responsable y ético de MAVA. analisis.html – Carga y Análisis de Imagen Esta página se centra en la acción: subir una imagen del rostro. Sección introductoria con imagen de fondo e instrucciones animadas que aparecen al hacer scroll. Guía visual “Cómo tomar una buena foto” con tres tarjetas explicativas sobre luz, limpieza y formato. Formulario de carga claro, con botón dinámico, validación inmediata y vista previa con efecto zoom. Botón “Analizar Mi Piel” Que: Verifica el formato de la imagen. Muestra estado de carga. Proyecto De Grado - MAVA 61 Envía la imagen al backend (/prediction) y guarda los resultados (tipo de piel e ingredientes) en localStorage. Redirige automáticamente a resultados.html. Las animaciones, validaciones y estilo están diseñados para brindar confianza, claridad y control al usuario. resultados.html – Recomendaciones Personalizadas Esta página es la entrega final y la recompensa de todo el proceso: Banner superior (30%) con imagen de fondo e indicación clara del tipo de piel detectado. Carrusel De Ingredientes Recomendados (70%): Incluye nombre, descripción y navegación con flechas y puntos indicadores. Usa datos obtenidos de localStorage en la página anterior. Detecta si no hay datos disponibles y muestra mensajes claros. Todo el contenido está cuidadosamente centrado, animado y adaptado a cualquier tipo de pantalla. Puntos Destacados Accesibilidad Móvil. Toda la interfaz se adapta a celulares, incluyendo botones, tipografías y carruseles. Fluidez Visual. Transiciones limpias, coherencia cromática y lenguaje visual consistente. Proyecto De Grado - MAVA 62 Enfoque Humano Y Ético. Desde el lenguaje de las preguntas frecuentes hasta la implementación del consentimiento explícito, cada decisión refleja responsabilidad y empatía. Modularidad: Cada página tiene un propósito definido, y el CSS actúa como un sistema centralizado para mantener la estética y funcionalidad alineadas. Documentación Base De Datos El archivo utilizado en este proyecto lleva por nombre “base de datos proyecto” y fue diseñado como una hoja de cálculo estructurada cuyo objetivo principal es organizar de manera sistemática una lista de ingredientes cosméticos, permitiendo su análisis, clasificación y posterior utilización en un sistema de recomendación. Esta base fue construida desde cero por el desarrollador del proyecto, a partir de un proceso de recopilación técnica que incluyó la consulta de diversas fuentes especializadas, tales como literatura científica en formulación cosmética, bases de datos del sector dermocosmético, catálogos técnicos de proveedores reconocidos y referencias comunes en productos dermatológicamente aprobados. La información fue seleccionada y curada con un enfoque funcional y práctico, centrado en cómo actúa cada ingrediente sobre la piel y en qué tipo de pieles se recomienda su uso. Cada fila de esta base representa un ingrediente único. Para cada uno, se asignó un código numérico identificador con el fin de mantener un orden secuencial y facilitar su trazabilidad. Se registró también el nombre del ingrediente, que puede corresponder a su denominación común, botánica o a la nomenclatura INCI, cuando fue posible. Proyecto De Grado - MAVA 63 A continuación, se clasificó cada ingrediente en un grupo funcional —como calmante, hidratante, antiacné, desmanchante, entre otros— que refleja su principal mecanismo de acción en una formulación cosmética. Uno de los campos más relevantes es la descripción técnica, en la que se resumen de forma clara y profesional las propiedades del ingrediente, sus efectos en la piel, su origen y, en algunos casos, su comportamiento sinérgico con otros componentes. Adicionalmente, se incorporaron columnas específicas destinadas a indicar el tipo o los tipos de piel para los cuales se recomienda cada ingrediente. Estas clasificaciones (normal, grasa, mixta, seca) se fundamentan en criterios técnicos y en evidencia proveniente de formulaciones existentes, publicaciones científicas y recomendaciones de uso. El criterio de asignación se elaboró considerando la compatibilidad del ingrediente con las características fisiológicas de cada tipo de piel, teniendo en cuenta factores como la capacidad de retención de agua, la regulación del sebo, la sensibilidad cutánea o la presencia de desequilibrios como el acné o la sequedad extrema. Esta base de datos, tal como ha sido construida, constituye un insumo central dentro del desarrollo técnico del proyecto, ya que alimenta directamente el módulo de inteligencia artificial encargado de generar recomendaciones personalizadas en la aplicación. A mediano plazo, se proyecta transformar este archivo en una base de datos estructurada, posiblemente en SQL o MongoDB, con el propósito de facilitar su integración con el backend del sistema y permitir operaciones más eficientes de filtrado, actualización o expansión. La claridad, trazabilidad y coherencia de esta base refuerzan la funcionalidad del proyecto y respaldan su enfoque orientado a la personalización cosmética basada en el tipo de piel. Proyecto De Grado - MAVA 64 Entrenamiento De Los Modelos De Predicción Para la implementación de las dos IA centrales encargada del análisis, detección y clasificación de los tipos de piel, además de la recomendación de ingredientes, se optó por emplear un entorno de desarrollo local en Jupyter Notebook, dado que el entrenamiento de modelos de visión artificial exige tiempo y recursos que resultan más eficientes cuando se gestionan directamente con la capacidad del equipo de cómputo. A continuación, se seleccionó el framework TensorFlow para la construcción y entrenamiento del modelo, teniendo en cuenta la experiencia previa con sus herramientas y de la familiaridad con su funcionamiento. Modelo Para La Detección Tipos De Piel Antes de iniciar con el entrenamiento, era necesario disponer de un conjunto de datos amplio y variado. Dado el tiempo que tomaría recolectar imágenes de forma manual, se recurrió a dos datasets públicos disponibles en Internet: “Oily, Dry and Normal Skin Type” de Kaggle, con 3.153 imágenes, y “Skin Types2 Computer Vision Project”, con 3.024 imágenes. Como el primer dataset carecía de ejemplos de piel mixta y, además, funcionaba mejor para el aprendizaje del modelo, se extrajeron del segundo dataset las imágenes correspondientes a piel mixta para incorporarlas al primero, obteniendo así un total de 4.093 imágenes para el entrenamiento. En el Jupyter Notebook se importaron las librerías necesarias, como os, numpy y tensorflow.kera, junto con sus submódulos: ImageDataGenerator, Sequential, GlobalAveragePooling2D, Dense, Dropout y Adam. También se incorporó el modelo base de redes neuronales convolucionales ResNet50, seleccionado por su eficiencia en el análisis y categorización de imágenes y por contar con una arquitectura de profundidad adecuada. Proyecto De Grado - MAVA 65 A continuación, se cargó el conjunto de datos y se definieron las rutas de las carpetas de entrenamiento, prueba y validación. Las imágenes se redimensionaron según los requisitos de ResNet50 y, para enriquecer el proceso de aprendizaje, se aplicó aumento de datos al conjunto de entrenamiento mediante ImageDataGenerator, empleando parámetros como rescale, rotation_range y vertical_flip. Posteriormente, se configuraron los generadores para entrenar, validar y probar el modelo, y se construyó un diccionario que asocia cada categoría con su valor numérico (‘Mixta’: 0, ‘Seca’: 1, ‘Normal’: 2, ‘Grasa’: 3). Con Matplotlib se visualizaron ejemplos de imágenes aumentadas junto a sus etiquetas numéricas. Para detectar posibles desequilibrios de clases, que podrían sesgar el aprendizaje hacia la categoría más abundante, se contó el número de imágenes por clase. Dado que la clase ‘Mixta’ presentaba una cantidad significativamente menor, se empleó class_weight para asignarle un peso mayor y garantizar que el modelo le preste la atención necesaria. Con estos preparativos, se cargó ResNet50 con pesos preentrenados en ImageNet, se ajustaron sus entradas a las dimensiones y canales de color adecuados, y se congelaron sus últimas 50 capas originales, de modo que solo las nuevas capas de clasificación se entrenen, optimizando así la velocidad y estabilidad del ajuste. A continuación, se añadieron las capas personalizadas: primero, una capa de “flatten” para convertir las características extraídas en un vector; después, una capa densa de 1,024 neuronas con regularización para evitar el sobreajuste; y, finalmente, la capa de salida con cuatro neuronas y activación softmax para obtener las probabilidades de cada clase. En la fase de compilación y entrenamiento, se utilizó el optimizador Adam y la función de pérdida categorical_crossentropy, mientras que la métrica accuracy sirvió para evaluar el Proyecto De Grado - MAVA 66 porcentaje de predicciones correctas. Para preservar el mejor estado del modelo durante un entrenamiento extenso, se configuraron callbacks: ModelCheckpoint, que guarda el modelo cada vez que mejora la pérdida de validación (val_loss); EarlyStopping, que detiene el entrenamiento si val_loss no mejora tras 5 épocas, recuperando el mejor estado anterior; ReduceLROnPlateau, que reduce la tasa de aprendizaje cuando no se observa mejoría en val_loss durante 3 épocas. Finalmente, se entrenó el modelo durante 40 épocas, validándolo en cada iteración con el conjunto de validación, y al concluir el proceso se guardó el modelo resultante en un archivo .h5 Modelo Para La Recomendación De Ingredientes Este proyecto implementa un modelo de clasificación multilabel: su entrada es un registro único (un tipo de piel) y su salida puede asociar múltiples ingredientes químicos beneficiosos para esa categoría. La base de datos de ingredientes, desarrollada específicamente para este propósito, se describirá con más detalle en secciones posteriores. Para el entrenamiento de la IA, además de las librerías empleadas en el modelo anterior, se incorporaron pandas (para manipular el CSV), MultiLabelBinarizer (para convertir etiquetas en vectores binarios), f1_score, para evaluar el desempeño, y el módulo random, para introducir aleatoriedad en el muestreo de componentes. El flujo comienza leyendo el archivo CSV con pandas.read_csv(), renombrando columnas para hacerlas más legibles y eliminando aquellas que estén vacías o irrelevantes. A continuación, se reordena el DataFrame de manera que las columnas correspondientes a cada tipo de piel queden agrupadas, y se descartan campos auxiliares que no aportan información al modelo. Proyecto De Grado - MAVA 67 Se define una función de recomendación que, para cada ingrediente, extrae las dos primeras columnas del DataFrame, las que representan los dos tipos de piel a los que más beneficia dicho ingrediente, y devuelve una lista priorizada de pares (tipo de piel, ingrediente). Esta función será la base para construir el set de entrenamiento. Con ello, se simula un conjunto de entrenamiento en el que cada tipo de piel se asocia a cinco ingredientes óptimos. Se recorre cada fila del DataFrame, se agrupan los cinco ingredientes en una sublista junto con la etiqueta de piel correspondiente y se almacenan todos estos pares en una lista maestra. Sobre esta estructura se crea un nuevo DataFrame que servirá de entrada al modelo. Para preparar las variables predictoras X, se ordena la lista de todos los componentes únicos y se aplica MultiLabelBinarizer sobre el campo de tipos de piel, generando así un array binario. De la misma forma, las cinco columnas de ingredientes se transforman en una matriz binaria Y. Una vez codificados X e Y, se dividen en conjuntos de entrenamiento, prueba y validación utilizando train_test_split, garantizando mezclas aleatorias con semilla fija. El modelo secuencial de Keras se construye con una primera capa Dense(64) seguida de BatchNormalization y Dropout(0.5), lo que estabiliza las activaciones y reduce el sobreajuste. La segunda capa, Dense(32), refina aún más las representaciones, y la capa de salida tiene tantas neuronas como columnas en Y (cinco), empleando activación sigmoid para predecir independientemente cada etiqueta. Al compilar, se utiliza el optimizador Adam y la función de pérdida binary_crossentropy, idónea para tareas multilabel, junto con la métrica binary_accuracy para valorar la precisión de cada etiqueta. Para optimizar el entrenamiento, se configuran callbacks: ReduceLROnPlateau y EarlyStopping. Tras entrenar durante 30 épocas, el modelo se evalúa con el set de validación, Proyecto De Grado - MAVA 68 mostrando una matriz binaria de predicciones y las métricas de precisión para cada ingrediente. Finalmente, el modelo se guarda en un archivo .h5, listo para ser cargado en el backend. Backend Dado que la aplicación web carece de registro o login y se enfoca exclusivamente en el análisis del tipo de piel y en la recomendación de componentes, el backend se diseñó de manera simple, incluyendo únicamente lo imprescindible para su funcionamiento. Para ello, se emplea un archivo de variables de entorno (.env) que es leído por mongo.py, donde también se obtiene la URL de la instancia de MongoDB y se establece la conexión mediante AsyncIOMotorClient. MongoDB guarda los datos de consentimiento del usuario —nombre, correo electrónico y un valor booleano que indica la aceptación de la política de tratamiento de datos— a través del endpoint /api/submit. Este endpoint espera recibir un objeto DataUser, definido en schemas/users.py mediante BaseModel de Pydantic, lo que asegura la validación automática de los campos enviados desde el frontend. Al invocar la ruta, la función comprueba que el consentimiento esté marcado; si el usuario ya existe, omite la duplicación en la base de datos, y si es un nuevo consentimiento, guarda el registro correspondiente. En la carpeta de modelos se integran tanto el predictor de tipo de piel como la recomendación de ingredientes. En el módulo responsable de las recomendaciones, se carga primero la ruta del modelo entrenado y, acto seguido, se lee el archivo CSV con los ingredientes y sus descripciones, descartando columnas innecesarias. A continuación, se agrupan los ingredientes por tipo de piel: se recorre la base de datos de ingredientes para extraer aquellos marcados según cada categoría y se almacenan en listas de cinco elementos. Proyecto De Grado - MAVA 69 De esta agrupación surge una lista ordenada de ingredientes sin duplicados, que servirá de vocabulario para el modelo. La función recommend() recibe uno de los cuatro tipos de piel (tal como lo retorna el predictor), convierte esta entrada en un vector binario y, usando el modelo entrenado, calcula las probabilidades de cada ingrediente. Finalmente, selecciona aleatoriamente cinco de los que obtuvieron mayor probabilidad, de acuerdo con el tipo de piel. Posteriormente, la función get_descriptions() separa los nombres de los ingredientes de sus descripciones: localiza cada nombre en el DataFrame original y extrae su descripción para devolverla junto al listado final. El módulo de predicción de tipo de piel consta de una única función que recibe una imagen, la convierte a formato RGB si es necesario, la redimensiona al tamaño requerido por el modelo, la transforma en un arreglo y la normaliza para la red neuronal. Tras cargar el modelo, le pasa este arreglo y, en caso de recibir más de una imagen, utiliza argmax para determinar la clase predominante. La función devuelve tanto el tipo de piel detectado como el porcentaje de confianza. La integración de ambos modelos tiene lugar en routes/ia.py, donde se define el endpoint /prediction. La función upload_photo valida que el archivo recibido sea una imagen, la envía primero al modelo de predicción de tipo de piel y, con el resultado obtenido, invoca a recommend() para generar la lista de ingredientes y sus descripciones. El conjunto de datos resultante se devuelve en formato JSON al frontend. Por último, en el archivo main.py se configura la aplicación principal de FastAPI: se crea una instancia de la app, se habilita el middleware CORS para permitir solicitudes desde cualquier origen (ya que frontend y backend están desacoplados) y se define una ruta raíz que devuelve un Proyecto De Grado - MAVA 70 mensaje de prueba. Además, se incluyen dos routers: uno para gestionar las rutas de formularios de usuario (form_data) y otro para las rutas de inteligencia artificial (ia_route), y se cargan las configuraciones desde un archivo centralizado de variables de entorno. Proyecto De Grado - MAVA 71 Pruebas Y Calidad Del Software Pruebas Unitarias Funcionales Las siguientes pruebas unitarias del backend se realizaron con Postman. Tabla 18. Pruebas De Formulario De Consentimiento Prueba Entrada Resultado Esperado Salida Resultado Final Almacenamiento correcto de los datos y consentimiento de usuario. Nombre, Correo y consentimiento aceptado. { "message": "Consentimiento recibido" } { "message": "Consentimiento recibido" } Exitoso Consentimiento no aceptado por el usuario. Nombre, Correo y consentimiento no aceptado. 400 Bad Request { "detail": "Debe aceptar el consentimiento para continuar" } 400 Bad Request { "detail": "Debe aceptar el consentimiento para continuar" } Exitoso El usuario ya ha dado su consentimiento con anterioridad. Nombre, Correo y consentimiento no aceptado. { "message": "Usuario ya registrado" } { "message": "Usuario ya registrado" } Exitoso El usuario no ingresa un correo electrónico valido. Nombre, correo no valido y consentimiento aceptado. 422 Unprocessable Entity 422 Unprocessable Entity Exitoso Proyecto De Grado - MAVA 72 El usuario no ingresa ningún nombre. Sin nombre, correo y consentimiento aceptado. 422 Unprocessable Entity "msg": "Value error, El nombre no puede estar vacío" 422 Unprocessable Entity "msg": "Value error, El nombre no puede estar vacío" Exitoso El usuario ingresa número en vez de letras en el nombre. Nombre con números, correo y consentimiento aceptado. 422 Unprocessable Entity "msg": "Value error, El nombre no puede contener números" 422 Unprocessable Entity "msg": "Value error, El nombre no puede contener números" Exitoso Figura 6 Pruebas 1 Postman Figura 7 Pruebas 2 Postman Proyecto De Grado - MAVA 73 Figura 8 Pruebas 3 Postman Figura 9 Proyecto De Grado - MAVA 74 Pruebas 4 Postman Figura 10 Pruebas 5 Postman Proyecto De Grado - MAVA 75 Tabla 19. Pruebas De La Predicción Y Recomendación De Ingredientes. Prueba Entrada Resultado Esperado Salida Resultado Final Predicción de piel y recomendaciones con imagen clara. Imagen en un formato aceptado y con las indicaciones. Muestra el tipo de piel y las recomendaciones según esta. Arroja el tipo de piel y las recomendaciones. Exitoso Predicción con imagen no valida. Imagen de un objeto. { "detail": "No se detectó un rostro en la imagen" } { "detail": "No se detectó un rostro en la imagen" } Exitoso Predicción con imagen en formato no permitido. Imagen en formato .gif 400 Bad Request { "detail": "Formato de imagen no permitido" } 400 Bad Request { "detail": "Formato de imagen no permitido" } Exitoso Figura 11 Pruebas 6 Postman Proyecto De Grado - MAVA 76 Figura 12 Pruebas 7 Postman Proyecto De Grado - MAVA 77 Figura 13 Pruebas 8 Postman Tabla 20. Prueba De Base De Datos. Prueba Entrada Resultado Esperado Salida Resultado Final Inserción de los datos y consentimiento del usuario en la base de datos. Nombre, correo y consentimiento. Usuario agregado con éxito en la base de datos con su respectivo ID. Usuario efectivamente agregado en la base de datos. Exitoso Comentarios adicionales: El usuario no se duplica si vuelve a ingresar sus datos, la lógica busca si el correo existe y si es así, le permite seguir al análisis sin agregarlo nuevamente a la base de datos. Proyecto De Grado - MAVA 78 Figura 14 Prueba Base De Datos Pruebas De Integración Envió del Consentimiento Se verificó que el formulario del modal de consentimiento envía correctamente los datos (nombre, correo, consentimiento) al backend. Se confirmó la recepción en MongoDB y la redirección adecuada a la siguiente etapa. Figura 15 Prueba Consentimiento Para Análisis Proyecto De Grado - MAVA 79 Subida Y Análisis De Imagen Se realizaron pruebas con imágenes válidas (PNG y JPEG) desde el frontend. El backend respondió con el tipo de piel y una lista de ingredientes recomendados en la parte interna se da como resultado ok, si está bien hecho, los datos se almacenaron en localStorage y no en base de datos, cumpliendo con los criterios de privacidad establecidos. Si la imagen no contienen ningún rostro o no se ve de forma clara responderá con un 400 bad request. Figura 16 Prueba Subida De Imágenes Proyecto De Grado - MAVA 80 Figura 17 Prueba Subida De Imágenes Incorrecto Visualización De Resultados La página resultados.html recuperó con éxito los datos almacenados localmente, mostrando correctamente el tipo de piel y el carrusel de ingredientes. Se validó la visualización en diferentes navegadores y dispositivos. Figura 18 Prueba Visualización De Resultados Proyecto De Grado - MAVA 81 Proyecto De Grado - MAVA 82 Conclusión El cuidado de la piel es más que una rutina estética; es una expresión de autocuidado, salud y bienestar emocional. A pesar de su relevancia, la sociedad actual enfrenta una paradoja: nunca antes habíamos tenido tanta información a nuestro alcance, pero esa abundancia no siempre se traduce en conocimiento verdadero. La sobrecarga de información errónea en redes sociales, sumada a la influencia de personas no expertas, ha generado un escenario confuso donde muchas decisiones se basan en tendencias virales más que en evidencia científica. Esta problemática no solo afecta la eficacia de los productos que las personas eligen, sino que también puede derivar en daños a la piel y frustración en los procesos de cuidado personal. Frente a esta realidad, MAVA surge como una respuesta innovadora, ética y necesaria. A través del uso de inteligencia artificial, el proyecto demuestra que es posible acercar la tecnología al cuidado personal de manera responsable y empática. La herramienta no solo identifica el tipo de piel mediante el análisis de imágenes faciales, sino que también proporciona recomendaciones personalizadas de ingredientes cosméticos respaldadas por evidencia científica. Esto transforma el acceso a la información, permitiendo a los usuarios tomar decisiones informadas, seguras y alineadas con sus necesidades reales. El desarrollo del prototipo final, estructurado en una interfaz intuitiva y funcional, valida la viabilidad del modelo tanto desde el punto de vista técnico como práctico. La aplicación cumple con estándares de usabilidad, accesibilidad y protección de datos, demostrando que una solución tecnológica puede ser al mismo tiempo eficaz y respetuosa con la privacidad del usuario. El sistema de recomendación, alimentado por una base de datos curada y un motor de Proyecto De Grado - MAVA 83 predicción preciso, refleja un trabajo riguroso y disciplinado, resultado de la integración entre la ingeniería de sistemas y la ingeniería química. Además, este proyecto establece un precedente importante para el uso de inteligencia artificial con enfoque humano. MAVA no busca sustituir al dermatólogo, sino actuar como una guía complementaria, una aliada accesible en contextos donde el acceso a atención profesional es limitado. Desde el entrenamiento de modelos con datasets representativos hasta la implementación de mecanismos de consentimiento informado, cada decisión de diseño fue tomada considerando no solo el rendimiento del sistema, sino también su impacto ético y social. A nivel académico, este trabajo permitió consolidar competencias en análisis de datos, desarrollo de modelos de aprendizaje automático, diseño de interfaces responsivas y gestión de bases de datos, todo aplicado a un problema real y con una solución funcional. A nivel humano, se reafirmó el valor de desarrollar tecnologías que empoderen, eduquen y respeten a sus usuarios. MAVA no solo cumple con sus objetivos tecnológicos y funcionales; marca un camino hacia una cosmética más informada, accesible y basada en datos, alejándose del ruido digital que tantas veces confunde más de lo que ayuda. Con una mirada puesta en el futuro, este proyecto abre la puerta a nuevas líneas de desarrollo: integración con dermatología profesional, expansión de la base de ingredientes, incorporación de escaneo multiespectral. Porque si algo ha demostrado MAVA, es que la inteligencia artificial puede y debe estar al servicio del bienestar, y que cuidar la piel también puede ser una forma de cuidar la ciencia, la ética y la verdad. Proyecto De Grado - MAVA 84 Pasos A Futuros A partir de los desarrollos alcanzados, MAVA proyecta dos escenarios principales de evolución tecnológica y comercialización: Personalización De Recomendaciones Hacia Productos Comerciales En una primera fase de expansión, MAVA podría establecer acuerdos de integración con empresas de productos cosméticos. Bajo este esquema, la aplicación adaptaría sus algoritmos de recomendación para, en lugar de sugerir únicamente ingredientes genéricos, asociar dichos ingredientes a productos específicos de las marcas participantes que contengan las sustancias activas recomendadas. Esta integración permitiría ofrecer al usuario final una ruta de compra directa, altamente personalizada según su tipo de piel, incrementando la efectividad de los tratamientos cosméticos y optimizando la experiencia de compra. Técnicamente, esta expansión requeriría incorporar a la base de datos de MAVA los catálogos de productos comerciales de las marcas aliadas, así como el desarrollo de un módulo de correspondencia automática entre los ingredientes activos detectados por la IA y las formulaciones completas de los productos ofrecidos. Generación De Reportes Demográficos De Tipología De Piel Una segunda línea de explotación comercial contempla la recolección y procesamiento estadístico de los tipos de piel identificados por la aplicación. A partir de los análisis realizados (previo consentimiento informado), MAVA estaría en capacidad de consolidar informes agregados que reflejen la proporción de usuarios clasificados en cada categoría de piel (seca, mixta, grasa o normal). Proyecto De Grado - MAVA 85 Referencias Begum, F. (2024). I4nfluence of social media over Prevailing Skin Practices. J Skin Stem Cell, 11(1), e144713. https://doi.org/10.5812/jssc-144713. De Croon, R., Van Houdt, L., Htun, N. N., Štiglic, G., Vanden Abeele, V., & Verbert, K. (2021). Health Recommender Systems: Systematic review. Journal Of Medical Internet Research, 23(6), e18035. https://doi.org/10.2196/18035 Du‐Harpur, X., Watt, F., Luscombe, N., & Lynch, M. (2020). What is AI? Applications of artificial intelligence to dermatology. British Journal of Dermatology, 183(3), 423-430. https://doi.org/10.1111/bjd.18880 Fernandes, S. M. B., Ravi, S. S., Shah, S. M., Iqbal, M. M., Vaniyawala, V. D., & Muskaan, S. (2022). The role of social media in cosmetic dermatology. Mathews Journal of Dermatology, 5(2), 17. https://doi.org/10.30654/MJDE.10017 Grzybowski, A., Jin, K., & Wu, H. (2024). Challenges of artificial intelligence in medicine and dermatology. Clinics In Dermatology, 42(3), 210-215. https://doi.org/10.1016/j.clindermatol.2023.12.013 Guo, Y., Liu, Y., Bakker, E. M., Guo, Y., & Lew, M. S. (2018). CNN-RNN: a large-scale hierarchical image classification framework. Multimedia Tools and Applications, 77(8), 10251- 10271. https://doi-org.bdbiblioteca.universidadean.edu.co/10.1007/s11042-017-5443-x Haddadin, S., Ebers, M., & Navas, S. (2020). Robotics and Artificial Intelligence: The Present and Future Visions. In Algorithms and Law (pp. 1–36). Cambridge University Press. https://doi.org/10.1017/9781108347846.002 Jasil, S. P. G., & Arroyo, V. (2023