48 million Americans live with the burden of depression and/or anxiety every day. Of these, less than half will receive treatment. Therapy is not only expensive -- in many places, it's impossible to access. Patients remain on waiting lists month after month, hoping against hope that someone will have an opening. Many come to the conclusion that they've simply been forgotten.

What if therapy was accessible to everyone? What if every person had a therapist available to them 24 hours a day? And what if this therapist was one of the great practitioners to ever live? We decided to work on a GPT-3 powered therapy bot to demonstrate what therapy of the future could look like. We're not experts in artificial intelligence -- none of us had even touched a Machine Learning project before. We believed if even we could build something of value, it would demonstrate the power of GPT-3 to the public and create interest in this burgeoning field.

This bot has not been thoroughly tested and evaluated for therapeutic use. It was made in less than 48 hours, please do not use it for therapy.

What it does

Carl Rogers is a GPT-3 powered artificial intelligence that responds to your text inputs with Carl Rogers' signature authenticity and appreciation for your whole being.

How we built it

The chat box and user interface was built using Flutter. The front-end creates request objects out of user input and forwards them to the back-end.

The back-end uses Davinci 2, OpenAI's latest GPT-3 model, to craft a response. This response is then forwarded to the front-end and outputted to the user.

Our favorite thing about our model is that it molds itself to the user. Essentially, we created a "universal patient" out of a 110-page transcript of therapy sessions Carl Rogers had with different patients. We scrubbed person-specific information and selected sections that demonstrated empathy and comprehension. DaVinci sees its conversation with the user as a continuation of these sessions. The conversation between the user and DaVinci makes DaVinci tailor itself more to the user's needs as the conversation progresses.

Using the power of Flutter, CarlBot works on iPhone, Android, and all Desktop operating systems!

Challenges we ran into

At first, we thought we could train DaVinci on the Carl Rogers transcripts and have the trained API respond to the user. This did not pan out at all.

First, GPT-3 does not have a "personality creator". There isn't a mode where DaVinci isolates and mimics the speech of one person in a conversation. We also couldn't just feed DaVinci Carl Roger's side of the transcript because GPT-3 would have no context and therefore no sense of how Dr. Rogers would have responded to the patient.

Second, the transcripts include patient's personal problems that are incredibly specific. Since DaVinci sees its conversation with the user as a continuation of these transcripts, it could potentially ask the user about their relationship with a son they don't have. We solved this problem by removing sections where hyper-specific issues are discussed, erasing each patient's name, and combining five therapy sessions into one "universal" one with a natural flow.

Accomplishments that we're proud of

Successfully implementing GPT-3 despite not having any experience.

Building a calming user interface to make patients feel more relaxed.

Successfully implementing Auth0

Raising awareness about the therapeutic power of artificial intelligence!

What we learned

While reviewing the transcripts, we came to appreciate how Carl Rogers was both exceptionally kind and genuinely honest. Through these transcripts, we felt how deeply he cared for his patients and how his devotion improved their well-being.

We were also astonished by how real this therapy bot felt. What's next for Carl Rogers Therapy Bot

We hope Carl Rogers Therapy Bot increases enthusiasm for integrating artificial intelligence into therapeutic care. If amateurs can build a bot this powerful, imagine what professional researchers can do!

"The curious paradox is that when I accept myself just as I am, then I can change"

Built With

Share this project: