Skip to content

kYpranite/Therapal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Therapal

THERAPAL IS CURRENTLY NOT RESPONSIVE: WEBSITE WILL BE BROKEN ON MOBILE AND SMALLER DISPLAY PORT DEVICES

TheraPal is a project created in 48 hours for UnitedHacks 2023, winning Best Overall Project. Developed by Ethan Huang and Nick Suh

Inspiration

Inspired by personal experiences with friends struggling with mental health issues, TheraPal is an innovative app that aims to provide much-needed support through meaningful conversations. Recognizing that having someone to talk to can be immensely helpful, the app adopts a style similar to Omegle, allowing users to meet new people. However, TheraPal stands out by focusing conversations around users' shared struggle traits and introducing AI prompt assistance to keep interactions more focused and relevant.

What it does

Therapal users select traits that they struggle with (such as depression, stress, anxiety, etc.) and are then connected to another user with one or more shared traits in a peer to peer chat scenario. In addition to talking to each other, at any time either user can generate an AI response to stimulate the conversation. The AI response will take into account the chat history as well as the shared struggle traits in order to generate a response that meaningfully moves the conversation forward.

How we built it

The frontend of TheraPal was built using JavaScript, React, and Material UI to create a clean and minimalistic user interface. The backend was implemented using Firebase as a Backend-as-a-Service (BaaS) platform as well as a database, and Node.js was utilized to handle OpenAI API requests for AI responses.

Tech Stack

Front End:

  • React
  • MaterialUI
  • Javascript/JSX

Back End:

  • Firebase
  • Node.js

API:

  • OpenAI API

Challenges we ran into

The main challenges we faced were from unfamiliar libraries and uncooperating AI

Unfamiliar libraries and services

Our biggest problem stemmed from using unfamiliar libraries and services. This was our first time using Material UI and our first big project with React, so we had trouble making the front end look right. As both of us were beginners with React, we frequently had to overcome unfamiliar functionalities and refer to documentation. MaterialUI was especially a large shock coming from vanilla CSS. The project consisted of plenty of learning as we went. Firebase was also new, so using it for our backend was a little difficult.

AI

This was our first time prompt engineering in general. We had to try different variations of prompts to stop AI hallucination and it was especially frustrating receiving nonsense AI responses.

Accomplishments that we're proud of

It works!

We are most proud of getting our project to work in the first place. While the project seemed easy at first, it proved to be more challenging than anticipated with the usage of 2 brand new libraries. Our project is the culmination of many hours of grueling work over the course of 2 days, and we are extremely proud of it.

Front End!

We are also proud of creating such a clean front-end design despite our limited knowledge of these libraries. With no experience, we created a user interface that is functional, animated, sleep, and pleasing to the eye. Again, this was especially difficult as it was our first time working with React or MaterialUI.

What we learned

The project proved to be a valuable learning experience for us. We gained proficiency in both front and back end libraries. Additionally, we honed our basic skills in JavaScript and HTML for future projects.

Front End Technologies

This was both of our first times working with MaterialUI and React in a large project, We learned plenty of how components and hooks work, and now understand the basics of both.

Data Storage

It was difficult adjusting to a NoSQL database such as Firestore. We had to adapt and learn how to use collections as well as how to access and change them.

Prompt Engineering

AI is the new future, and we recognized the importance of learning how to exploit it. This project taught us plenty on how to properly engineer prompts to achieve optimal responses from GPT-3

What's next for TheraPal

TheraPal is an app that inherently requires a lot of users to exist, so it is going to take a lot of work for us to get TheraPal off the ground. Our next steps would be to better improve responsiveness on multiple platforms as well as eliminate bugs.

original original original

About

A peer-to-peer random chat therapy web app supported by OpenAI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages