Saba Oji Nick Ferracuti William Kemeny Steven Han
Discover a transformative approach to mental health with MindMate, an app that combines the art of journaling with the insights of cognitive behavioral therapy (CBT) through an AI chatbot powered by OpenAI's API. This innovative platform provides a conversational journaling experience, where users engage in meaningful dialogues with an AI therapist trained in CBT techniques.
MindMate's chat interface makes journaling an interactive, guided process. The AI chatbot helps users explore their thoughts and emotions in depth, offering CBT-based prompts and responses. This unique method facilitates self-discovery and emotional growth in a supportive, user-friendly environment.
In addition to its interactive journaling feature, MindMate excels in tracking and presenting mental health progress. The app analyzes your conversations and provides insightful data, enabling you to monitor your journey and recognize patterns in your emotional well-being over time. This empowers users with a clear view of their personal growth and the effectiveness of their journaling practice.
MindMate is more than just an app; it's a companion in your journey towards better mental health, offering a blend of technology and therapy techniques to support your path to self-improvement.
MindMate is full-stack application that uses Typescript
, PostgreSQL
relational database system, and Next.js
on top of React.js
frameworks. Front-end has been build using Chakra UI
.
Note: Node V16 or greater is required to run the project.
-
Run
npm i
to install dependencies -
Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
- Open http://localhost:3000 with your browser to see the result.
- Users can sign up for an account to access the app's features.
- Users can log in to their account to access personal data and use the app.
- Users can log out of the app to ensure their information is secure.
- Users can change their username or email address to keep their information up to date.
- Users can access an account tab to manage personal settings in one place.
- Users can view their past journal entries to reflect on previous thoughts and feelings. (WIP)
- Users can start a new journal session by selecting the number of prompts to control the depth of their journaling experience.
- Users can express current emotions using an emoji, allowing the AI to generate appropriate prompts for the journaling session.
- Users can interact with a chat interface for a guided journaling experience, responding to prompts.
- Users can view a motivational message after completing a journaling session, ending the experience on a positive note.
- Users can have a conversation with a CBT (Cognitive Behavioral Therapy) chatbot to work through thoughts and feelings without predefined prompts.
- Users can view a motivational message after their chat session to maintain a positive mindset.
- Users can view a report of their average journaling activity to understand usage patterns and engagement with the journaling process.
- Users can view a calendar report showing the frequency of their conversations to track consistency and dedication to mental wellness practices.
- Users can see a graphical report of their interactions over time to visualize engagement level and progress.
- User Registration
- User Landing Page
- Guided Journal first step - select number of questions during journaling session
- Guided Journal second step - select how you are currently feeling
- Cognitive Behavioural Therapy Chatbot
- User Progress option - Pie Charts
- Mobile Responsive
"ai": "^2.2.20",
"axios": "^1.6.0",
"bcrypt": "^5.1.1",
"eslint": "8.43.0",
"eslint-config-next": "13.4.6",
"framer-motion": "^10.16.4",
"lodash": "^4.17.21",
"next": "^13.4.6",
"node-fetch": "^3.3.2",
"openai": "^4.14.2",
"papaparse": "^5.4.1",
"react": "18.2.0",
"react-dom": "18.2.0",
"recharts": "^2.9.2",
"sass": "^1.69.5",
"typescript": "5.1.3",
"@chakra-ui/icon": "^3.2.0",
"@chakra-ui/icons": "^2.1.1",
"@chakra-ui/next-js": "^2.1.4",
"@chakra-ui/react": "^2.8.1",
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
"@types/node": "20.3.1",
"@types/papaparse": "^5.3.10",
"@types/react": "18.2.13",
"@types/react-dom": "18.2.6",
"@vercel/postgres": "^0.5.0"