EmotiChat: A Mental Health Chatbot

"A Safe Space for Every Conversation."

About the Project

Inspiration

The inspiration for EmotiChat arose from the increasing need for accessible mental health resources, especially during challenging times when many individuals may feel isolated. Recognizing that not everyone has access to professional mental health support, I aimed to create a solution that fosters emotional communication and provides guidance to those in need. My goal was to develop a chatbot that could offer personalized support and help users track their mental well-being over time.

What I Learned

As a novice upcoming AI Developer, through the development of EmotiChat, I deepened my understanding of various technologies, including the MERN stack (MongoDB, Express.js, React.js, Node.js), and gained hands-on experience with integrating Google AI products., Anthropic, and the intsicality of neural network. Although I did not dive into implementing Audio Analysis, I plan to integrate a Speech-To-Text API in the next iteration. I also learned the importance of user feedback in refining a product. Engaging with users during testing sessions helped me understand their needs and expectations, ultimately enhancing the chatbot's empathetic response capabilities.

How I Built the Project

I built EmotiChat using the MERN stack, which allowed for a seamless integration of the front-end and back-end. The architecture follows a client-server model, where React handles the user interface, while Node.js and Express manage server-side logic and API calls. MongoDB serves as the database for securely storing user interactions and analytics.

Key features of the chatbot include:

  • User Interaction: Users can send messages and receive responses based on sentiment analysis powered by the Google Natural Language API.
  • Progress Tracking: The chatbot logs interactions and receive personalized suggestions.
  • Data Security: Although it is not fully connected yet, I have already created the Login Langing Page which will utilize Passport.js for secure user authentication and ensured that sensitive data is encrypted.

Challenges Faced

During the development process, I encountered several challenges:

  1. API Integration: Understanding the Google Natural Language API and managing its authentication was initially difficult. I overcame this by conducting experiments to familiarize myself with its functionalities.

  2. Asynchronous Operations: Managing asynchronous calls in JavaScript posed challenges with delayed responses. I improved the user experience by implementing a loading state during message processing.

  3. Data Management: Designing an effective MongoDB schema for user interactions was complex. I adopted a modular approach by creating separate collections for users, messages, and analytics.

  4. User Engagement: Crafting empathetic responses for the chatbot was challenging. Conducting user testing provided valuable feedback, which helped refine the conversational flow.

  5. Security and Privacy: Ensuring the security of sensitive mental health data was paramount. I iplan to eventually implemente JWT for secure authentication and adhered to best practices for data protection.

Conclusion

EmotiChat represents my commitment to leveraging technology for positive social impact. By addressing the challenges of mental health accessibility, I hope to create a supportive and meaningful experience for users seeking help. The journey of developing EmotiChat has not only expanded my technical skills but also reinforced the importance of empathy and understanding in technology.

Built With

Share this project:

Updates

Submission history