About the Project

Inspiration

Durante el hackathon HackUDC, nos propusimos crear una herramienta que ayudara a las personas a gestionar sus emociones y mejorar su bienestar mental. Nos inspiramos en la necesidad de un asistente psicológico accesible y personalizado que combinara inteligencia artificial con técnicas de autoconocimiento. Queríamos ir más allá de un simple chatbot y ofrecer un espacio donde los usuarios pudieran tener conversaciones profundas, analizar su personalidad mediante representaciones y recibir apoyo en sus objetivos personales.

What it does

Sentikelia es un asistente psicológico personalizado que ofrece:

  • Lectura de diario: La capacidad de submittear una foto de una página de un diario físico y que se suba a la base de datos.
  • Chatbot avanzado: Un asistente conversacional que recuerda lo que le cuentas y te ayuda a reflexionar sobre tu día.
  • Diario virtual: Un espacio donde puedes registrar los mejores y peores momentos de cada día, permitiendo que el chatbot use esta información en futuras conversaciones.
  • Análisis de personalidad: Evaluaciones utilizando el modelo Big Five y eneagramas para un mejor entendimiento personal.
  • Coach personal: Un sistema que descompone un objetivo principal en metas diarias alcanzables y te ofrece sugerencias personalizadas.

How we built it

Sentikelia está desarrollado con una arquitectura moderna y eficiente:

  • Frontend: React con Vite y TailwindCSS para una interfaz rápida y responsive.
  • Backend: FastAPI con Uvicorn para manejar la lógica de negocio y las solicitudes de usuarios.
  • Base de datos: MongoDB con PyMongo para almacenar los registros del diario y las interacciones del chatbot.
  • Modelos de IA:
    • gpt-4o-mini: Chatbot y generación de respuestas personalizadas.
    • bert-base-multilingual-uncased-sentiment: Análisis de eneagramas.
    • bert-base-personality: Evaluación del modelo Big Five.

Challenges we ran into

El desarrollo del proyecto presentó varios desafíos:

  • Memoria del chatbot: Equilibrar la retención de información sin afectar el rendimiento.
  • Personalización efectiva: Lograr que el análisis de personalidad y las recomendaciones fueran útiles para cada usuario.
  • Optimización del frontend: Diseñar una interfaz atractiva sin afectar la velocidad de carga.
  • Escalabilidad: Construir una infraestructura que pueda soportar múltiples usuarios sin degradar la experiencia.

Accomplishments that we're proud of

  • Conseguimos integrar IA en un asistente emocional que realmente se siente personalizado.
  • Implementamos un diario interactivo que el chatbot puede usar para hacer conversaciones más relevantes.
  • Logramos análisis de personalidad detallados con múltiples enfoques.
  • Diseñamos un coach personal capaz de estructurar metas alcanzables para los usuarios.

What we learned

A lo largo del desarrollo, aprendimos a:

  • Mejorar la integración entre frontend y backend con FastAPI y React.
  • Optimizar modelos de lenguaje para uso en aplicaciones interactivas.
  • Diseñar experiencias de usuario intuitivas en herramientas de bienestar emocional.
  • Gestionar bases de datos de manera eficiente para almacenar información sensible.

What's next for Sentikelia

Queremos seguir mejorando Sentikelia con nuevas funcionalidades:

  • Hostearlo públicamente: Aunque hemos intentado hostear la web y el servidor en uno de nuestros servidores, nos ha dado mucho problemas de última hora con CORS, pero tenemos la intención de compartir este proyecto con el mundo.
  • Perfeccionar el uso de LLMs: Aún existen mejoras posibles con el uso de las LLMs. La localización temporal es algo esencial. Tal como está implementado ahora mismo el modelo tiene acceso a todas las interacciones que ha tenido con el usuario, pero tiene información sobre cuándo las han tenido. Esto implica que no sabe si le has hablado de algo hace 1 año o hace 1 minuto.
  • Mejora de análisis: Integrar nuevas formas de evaluación de personalidad y emociones y mejorar las actuales. Queremos mejorar la base de datos usando embeddings y datos vectorizados. Esto nos permitirá definir un espacio de usuario y relacionarlos entre ellos según similitud.
  • Integración con wearable devices: Para analizar datos fisiológicos y ofrecer recomendaciones más precisas.

Este es solo el comienzo, ¡seguiremos explorando nuevas formas de ayudar a las personas con IA! 🚀

Built With

Share this project:

Updates