Skip to content

miizadi/GemJournal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GemJournal

GemJournal integrates Google's Gemini AI, specifically trained as a therapeutic assistant and a support friend. Gem, our AI friend, collaborates with the journaling app to help users reflect on their emotional well-being without the guilt of venting to a friend. It proactively checks in on users, responding to their queries and providing a supportive, conversational experience.

Goal of the Project:

The primary goal of GemJournal is to foster a supportive environment for users to express themselves and navigate their emotional landscapes. By integrating Google's Gemini AI, trained as a therapeutic assistant and warm friend, we aim to offer a platform for reflection and a proactive companion—Gem—that offers empathy, guidance, and validation. We take a step further from self-care journaling and provide users with a friend who is there for them 24/7 without judgment. Once the user feels better, Gem can be released from existence, and the user can get back to their day guilt-free and confident. By providing the journal entries to Gem, Gem becomes a friend who knows about the user's life rather than a "stranger" AI chatbot. This falls under the 1st track "Good to Go".

Technical Implementation: The application is developed entirely in Python, utilizing the Tkinter module for the frontend interface. The backend leverages Google's google.generativeai library to power a chatbot capable of dynamic interactions. Users can engage with Gem, receiving empathetic responses and guidance tailored to their emotional state.

How GemJournal Enhances Mental Wellness:

Mindfulness: Gem encourages users to engage in reflective writing, a practice that is closely associated with mindfulness, helping users to stay present and aware of their emotional state.

Mental Health Support: By checking in on users and offering conversational support, Gem serves as a first step towards recognizing and addressing one’s mental health needs. We understand that reaching out and being vulnerable is hard, and sometimes, we don't have the resources of another who listens to us. With Gem, users have a friend who is always by their side, day and night.

Emotional Well-being: The platform is designed to recognize emotional cues from users' entries and respond appropriately, promoting emotional health and resilience.

Key Features:

Therapeutic AI Assistance: Gem is a supportive companion, offering users a safe space to express their feelings and seek advice.

Interactive Journaling: The platform allows for reflective writing, supported by AI-driven insights and prompts based on user input.

Responsive Chatbot: By integrating advanced AI techniques, the chatbot adapts to user conversations, ensuring personalized and meaningful interaction.

Code Highlights:

API Configuration and Initialization: Set up and authenticate with Google's API, preparing the Gemini model for interaction.

AI Training and Conversation Management: Train Gem with scenarios that enhance its ability to act as a therapeutic friend and manage ongoing dialogues to maintain context and relevance. User Interface: Employ Tkinter for a robust, user-friendly interface, enabling seamless journaling and AI interactions.

The backend was developed using Python and the Google generative AI library, while the front end used Tkinter.

Limitations:

API Key Usage Limits: Our application relies heavily on Google's generative ai library to power Gem, the AI companion. Unfortunately, Google limits API key usage, which restricts the number of requests that can be made within a specific timeframe. This limitation can lead to downtime or degraded performance, especially during peak usage periods when many users interact with the AI simultaneously.

Network Dependence and Connectivity Issues: GemJournal requires a stable internet connection to function effectively since it needs to communicate with remote servers to process user inputs and generate responses. We observed that poor Wi-Fi connectivity leads to slower response times from the AI, which can frustrate users and disrupt the journaling experience. In areas with unreliable internet service, this significantly hinders accessibility and usability.

Response Latency: Even with a stable connection, there are inherent delays in processing and responding to user queries through the AI model. The complexity of the AI's tasks—such as understanding context, generating therapeutic responses, and ensuring the safety of its interactions—necessitates considerable computation, which can result in latency.

These limitations underscore the need for careful resource management, robust error handling, and clear communication with users about what they can expect from their interaction with GemJournal. Moving forward, we aim to explore solutions such as optimizing API usage, enhancing local caching mechanisms, and improving error resilience to mitigate these issues and enhance user satisfaction.

What's next for GemJournal

The journey with GemJournal has shown us clear paths to make it even better. Plans include moving it to a web hosting service for easy access anywhere, and adding language support to welcome users from different parts of the world. Each step is aimed at making GemJournal more available and helpful to anyone who needs it.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages