Inspiration

What it does

Es una aplicación móvil, que integra tu propio calendario de google calendar y que para cada eventos del mismo, hace una recomendación sobre un outfit de INDITEX apropiado. Además, presenta otras funcionalidades como la obtención de un outfit a través de una foto, tanto de internet a través de la URL, como a través de tu propia galería o cámara de móvil. Por último, cuenta con una lista local de deseos con las prendas que más te hayan llamada la atención, para poder acceder a su página en la tienda siempre que el usuario quiera.

El funcionamiento general es que el usuario conecta su calendario, que ya iba a tener completo por su propio interés, a a la aplicación; y esta, en función de la descripción de los eventos, la compañía, el horario y clima, y el nivel de formalidad requerido; genera una recomendación de outfit adquirible por Inditex. Toda esta información no se pide directamente al usuario sino que se genera con predicciones informadas usando la API de OpenAI.

How I built it

Desde un punto de vista más técnico, la aplicación está desarrollada siguiendo una arquitectura modular de 4 servidores en Python gestionados desde un backend en el propio dispositivo desarrollado en Kotlin, con ciertas funcionalidades adicionales. El frontend de móvil está desarrollado con JetPack Compose, un framework innovador y muy potente para aplicaciones de este estilo.

Cada uno de los servidores de Python controla una parte del proceso y las funcionalidades, que pudiéramos querer reemplazar en algún momento por otra similar (de ahí la modularidad). Gestión y acceso a la integración con Google Calendar; paso del JSON devuelto por el calendar a un formato fácilmente manejable en el front; conexión de la API de textos de Inditex, y conexión con la API visual de ITX.

Además, tenemos una funcionalidad de Web Scrapping relativamente compleja mediante la cual podemos extraer imágenes e información adicional a la presentada por la API de ITX directamente, para poder enseñar en la propia aplicación imágenes de las recomendaciones antes de acceder al portal web.

Por último es importante a este respecto mencionar la integración en múltiples pasos del proceso de recomendación con la API de generación de textos de OpenAI, que actúa como generador de descripción de outfits, que luego buscamos mediante las APIs de ITX; y también como generador o interpretado de JSONs a lenguaje humano textual.

Challenges I ran into

Los problemas con los que nos hemos encontrado han sido la curva de aprendizaje de muchas de las tecnologías con las que hemos trabajado. De los 4 miembros del equipo, prácticamente todos empezábamos con 0 experiencia en el stack elegido; habiendo programado anteriormente mayoritariamente en Java, C, y un poco de Python; con pequeñas incursiones en el desarrollo web.

Más concretamente, el acceso a las APIs de Inditex ha supuesto un reto en la primeras horas del proyecto, en parte debido a la inexperiencia del equipo; y en parte debido al margen de mejora que había en la documentación.

También nos ha resultado desafiante la integración final de todas estas herramientas, servidores y tecnologías, y frontend en una aplicación integral e intuitiva, a la que finalmente hemos acabado acercándonos. Especialmente debido a una cuestión que no estamos acostumbrados a considerar en otros proyectos, y que al trabajar con APIs como estas es importante: el tiempo de respuesta.

Accomplishments that I'm proud of

La capacidad de adaptación del equipo a la inexperiencia con el stack tecnológico escogido, y a los retos que han ido surgiéndoos a lo largo del proyecto. Además, hemos conseguido un nivel de cooperación, trabajo colativo, organización y división de trabajos y responsabilidades inmejorable.

Además, el haber ido aterrizando un producto con, a nuestro parecer, una cierta utilidad o interés real; y no quedarnos en un simple proyecto por curiosidad.

What I learned

Hemos aprendido y afianzado muchas tecnologías nuevas para todos o algunos miembros del equipo como Kotlin, Jetpack Compose, el paso y almacenamiento de información con JSONs estandarizados; la conexión con varias APIs que operan con modos de conexión y autenticación completamente diferentes; todo en tiempo real...

Además, nos ha servido como práctica invaluable de trabajo en equipo y gestión de proyectos.

What's next for Wearendar

Estamos muy ilusionados con el resultado del proyecto dentro de este hackathon; pero aún más con su potencial. Contamos con desarrollar más allá la idea, pulirla y añadirle funcionalidades nuevas; y si se diera el caso, publicarla.

Además, aprovecharemos todo el conocimiento obtenido para futuros proyectos.

Built With

Share this project:

Updates