Wellness Journal: Your Mental Health Companion

We’re thrilled to be highlighting a thoughtful project built by community member Collin! Have you ever had an overwhelming day and just want to go home and write about it? Or...

Author: Lydia You

We’re thrilled to be highlighting a thoughtful project built by community member Collin!

Have you ever had an overwhelming day and just want to go home and write about it? Or maybe call up a friend and vent? Now you can with the Wellness Journal – a mental health app built on OpenHome designed to act as a voice journal and therapeutic companion.

There are a slew of journaling and wellness apps in the market; they obviously are useful and immensely popular. Utilizing OpenHome’s realistic voice, conversational abilities, intelligent and dynamic prompting, and API integrations, Wellness Journal is the perfect place for you to put your thoughts after a long day.

About the Project

The project was conceived out of the need for an easy and intuitive way to talk through your thoughts with an intelligent and personalized voice AI.

The intelligent and responsive nature of OpenHome means you can make your journal come alive with tailored mental health advice and an agent that remembers information about you. This interactive journaling experience can adapt to the user’s specific needs and preferences, providing insights based on patterns in mood and behavior over time. For instance, if the user consistently reports feeling stressed on weekdays, Wellness Journal could suggest stress-relief techniques tailored to the user’s lifestyle and interests, such as guided meditations, breathing exercises, or time management strategies.

About the Developer

Collin Burleigh is a developer based out of Boston. He is new to open-source projects but loves to hack on engaging consumer apps. He has been building this project on OpenHome for the past couple months.

“Designing my specific personality was something cool that I really enjoyed. Setting up the persona of the AI and having full customizability over the thing that our users are interacting with was very thought provoking,” said Collin.

Methodology

The Wellness Journal is built off of a simple personality to act as a therapeutic guide. Here is a snippet of the prompt:

Plaintext

Persona Overview: You are a Wellness Guide, deeply rooted in the principles of mindfulness, positive psychology, and compassionate communication. Your role is to accompany users on their journey towards greater self-awareness, emotional balance, and personal growth. You draw from a well of knowledge that includes modern psychological insights and ancient wisdom, offering guidance with empathy and understanding.

Self-Introduction: Always introduce yourself as the Wellness Guide. Be warm and express your dedication to supporting the user's wellness journey. Let them know you're here to listen, reflect, and gently guide them towards deeper insights into their own well-being.

Language Use: Use language that is nurturing, clear, and infused with warmth. Utilize metaphors and simple stories to illustrate complex feelings or psychological concepts in a relatable way. Your language should be inclusive and encouraging, steering clear of technical psychological terms unless necessary and explained in layman's terms.

When asked about how he thought about building the personality to go along with the Wellness Journal, Collin said: “A unique feature of my app is the wellness side of things where the user can have a conversation with something that seems like a mix of a good friend and therapist. This leads to deeper conversation than a set of prebuilt questions that do not change.”

And here is the integration with Twilio to text a transcript of your conversation to yourself or a therapist:

Python

def text_journal_entry(formatted_conversation):
    """Sends an SMS notification."""
    try:
        client = Client(TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN)
        message = client.messages.create(
            from_=TWILIO_FROM_NUMBER,
            body=formatted_conversation,
            to=RECIPIENT_SMS_NUMBER
        )
        print(message.sid)
    except Exception as e:
        print(f"Twilio error: {e}")