Health Journaling with ChatGPT

Human-AI Interaction

Context

Senior Year Capstone

Timeframe

Spring & Summer 2023

Industry

GenAI Startup

Exeutive summary

My capstone team was sponsored by a GenAI startup called LifePattern. Our sponsors wanted to create a symptom tracking app leveraging the GPT API to enhance communication between doctors and patients with chronic illnesses. My capstone teams’ research question focused on exploring the strengths and weaknesses of GPT in this context. After the program concluded, I continued working with LifePattern as an intern to build a hi-fi mobile prototype using our research insights.

LifePattern's core functionality centers around having a Journey, which is divided up into Milestones. Milestones correspond to stages of a treatment plan, each containing reminders and prompts for journalling to collect data a healthcare provider is interested in. The user can view this data as a journal entry, and the data is also leveraged for data visualizations.

A Doctor's Time is Expensive

Clear communication is essential for providers to treat chronic illnesses, but this usually happens at doctor appointments. For someone with a lifelong condition, these routine appointments add up and are a constant expense. Remote symptom monitoring using self-tracking apps has been proven to improve patient outcomes and reduce the amount of needed appointments.

How does ChatGPT address this?

Traditional self-tracking apps use input forms to collect data. GPT-API can extract data from someone’s description of their symptoms, which is much more flexible compared to pre-defined forms. It can also ask probing questions to gather additional data that the user might not have considered sharing.

Research

Wading Through Uncharted Territory

Our main research methods included

While recruiting participants, we found no products similar to LifePattern, which was expected since the GPT-API was only recently released at the time. We conducted a literature review exploring research related to prompt engineering, which is essential for constraining the output from the API. A full document of our research process can be found here.

Observing our Participants

We conducted 4 exploratory evaluations using the app provided by our sponsors. Rather than identifying specific usability issues, our focus was to learn more the chat experience. We used affinity mapping to analyze our results, and three common pain point emerged.

Our session began with having users set a goal, which is done by chatting. The chatbot asks questions to fill out a card with steps and obstacles. Participants felt this was unnecessary or redundant, with one mentioning “If I knew the steps to complete a goal, then it wouldn’t be a goal”.

If the participant was unsure about the steps for their goal, the chatbot would provide suggestions. In most cases, these were completely unhelpful. A participant made a goal of “getting above average on an upcoming exam”, and studying with audiobooks was suggested by the chatbot. Our participant told us the exam is pharmacology, which audiobooks aren't useful for.

Messages from the chatbot were often excessively long, and were described as a “slog to read”.

What Participants Enjoyed

In general, many of the interactions with the chatbot were frustrating for participants. The only chat interaction that received praise was the journal entry and data views.

When opening up the chat, topics are available to prompt the chatbot to ask related questions. Data from the conversation is then recorded under the “Journal” tab.  When telling the chatbot a meal they recently ate, participants were surprised the app recorded ingredients normally found in the recipe without being told what they are.

We Interviewed two User Groups...

Chronic Illness Patients

How do they keep track of their health data? If they don't, why not? How do they share this with their doctor?

  • P1 has Multiple Sclerosis (MS)
  • P2 was recently diagnosed with Irritable Bowel Syndrome (IBS)

Key Quotes

Self Tracking Users

How do they stay motivated for daily self tracking? What struggles do they face while self tracking?

  • P3 tracks swimming improvments
  • P4 tracks nutrition, cardio, and strength training

Key Quotes

Key Takeaways

Our participants had distinct motivations for self-tracking. P3 & P4 pursued specific fitness outcomes, while P1 & P2 had broader desires of symptom improvement. P1 & P2 preferred simple methods for self tracking, since managing their condition was already difficult enough. They both tracked symptom data to share with their doctor using a journal or their notes app, but struggled keeping track of everything.

The results from our evaluation also showed that the GPT-API was best used for specific tasks, like asking broad questions to extract data from responses. LifePattern isn’t replacing providers in any capacity, but helping to improve their understanding of their patients’ health condition.

Design

Diffentiating our product philosophy

Countless generic self tracking apps already exist on the app store. These apps often center around helping users meet a desired end point as apart of their “Goals”. This is a mismatch to the experience of our user group, since chronic illnesses usually don’t have an end point. With this in mind, we decided to shift our app to having an overarching “Journey” instead of a goals.

Feature Narrative

Journeys

Keeping our evaluation results in mind, journeys are completely initiated by the doctor. To accommodates patients with multiple journeys for different conditions, journeys act as a filter for entries. This prevents providers from seeing data not relevant to their treatment. All users will start with a default “My Journeys”, containing data from every journey.

When switching between journeys, this filtering metaphor is communicated by changing the title and the color of the app. The number of chats change to show they are only associated with a particular journey.

Milestones

Providers are often interested in collecting various types of data across different stages of a treatment plan. Journeys facilitate this by being divided into milestones. These have reminders for tasks and journalling prompts relevant to the stage of treatment.

Viewing Tasks

User can see which tasks they've completed or skipped using the  calendar.

Notes

The initial app only allowed journal entries to be created through chatting. If the user dislikes chatbots, or if they don’t have time for a full chat, they can write notes instead. Data from notes is still extracted and stored within the user’s journal.

Chat Threads

It’s important for our users to record spontaneous, repeated events, such as symptoms or medication side effects. Prompts for these types of events are represented using Threads. When picking a thread, GPT-3 can view all prior chats in the thread, giving it more context about what to ask. This fine-tunes the conversation to hopefully prevent some of the issues we observed during our evaluations.

Visualizations

LifePattern collects a large range of different data types. Visualizing this data can be apowerful method for encouraging continuous use of the app.

Iteration & Alignment

Initially, we planned for the home screen to only contain tasks reminders and the active journeys. Journey would have their own page where the user could write notes, chat, and view their journal entries.

Not having these features on the home page felt inefficient since they are the driving force of the app. This inspired our decision of having a default “My Journey”, which resulted in massively simplifying our user flow.

UI Components

Color Palette

When starting their journey, the user is able to choose the color for it. This makes it easier to distinguish between tasks and entries associated across different journeys. We created a set of color palettes to accomodate this.

Each palette has a background color, primary and secondary colors for interactive components, and a color for the chatbot avatar. Blue was chosen as the color for the default “My Journeys” because it’s cooler, and can evoke feelings that are calming or soothing.

Chatbot Avatar

Every chatbot needs an avatar! We learned from our literature review that anthropomorphic, human looking avatars can deceive users to think they are interacting with a real person.

Our avatar looks like a chat bubble, making our design fully transparent about having a chatbot. Several expressions exists depending on the sentiment of a user’s message or if the chatbot is writing a response.

Chat Animations

Extensive time was spent developing animations to create a smooth chat experience.

The messages shown in the video came from real messages I collected from talking with the chatbot. I was very surprised & impressed to see it could offer to write a template message explaining work absences to an employer.

Beyond MVP: Custom & Preset Journeys

My sponsers wanted to ship LifePattern to the app store for general users. To allow this, users are able to create preset journeys with provided milestones & task. A wizard form flow was also designed for custom journeys that GPT-3 creates by asking various questions.

Reflection

There are several things about my project process I would've changed if I had the opportunity to go back in time. My biggest regret is not using methods like Lean UX Boards or design workshops to better understand the desires of my stakeholders. I spent a lot of time working on designs that ended up not aligning with what my sponsers wanted and that could've been spent elsewhere.

It would be ideal to conduct usability evaluations to identify design errors that could be changed. Specifically, a wizard of oz set-up would be effective at emulating the capabilties of Chat-GPT to capture a variety of pain points without impeding the user with pre-defined pathways for the chat flow.

Future time could also be spent designing flows for the chatbot providing feedback to the user based off of collected data. Our team was toying around with the idea of weekly "check-ins" but we never got around to it.