Inspiration
The inspiration for TherapyAI came from witnessing the challenges faced by psychology and therapy students in gaining practical experience with diverse patient scenarios. Traditional training methods often lack the depth and variety needed to prepare future therapists for real-world situations. We wanted to create a solution that would bridge this gap by providing immersive, AI-powered training experiences.
What We Learned
Throughout this project, we learned several key things:
- AI Integration: Successfully integrated Google's Gemini API to create realistic, context-aware patient personas
- Real-time Communication: Implemented WebSocket technology for seamless, real-time interactions
- User Experience: Designed intuitive interfaces that cater to both students and practitioners
- Cloud Architecture: Built scalable authentication and storage systems using Google Cloud Platform
- Document Processing: Developed robust PDF and Word document parsing for custom persona creation
How We Built It
Frontend (Next.js/React):
- Built a modern, responsive UI with Tailwind CSS
- Implemented real-time chat interface with speech synthesis
- Created interactive dashboards for students and practitioners
- Added file upload functionality for custom persona creation
Backend (Node.js/TypeScript):
- Developed RESTful API with Express.js
- Integrated WebSocket server for real-time communication
- Implemented Google Cloud Storage for user authentication
- Created document parsing system for PDF/Word files
- Built AI-powered persona generation using Gemini API
Key Features:
- Multiple realistic patient personas (Sarah Chen, Marcus Williams, Elena Rodriguez)
- Real-time feedback and coaching tips
- Sticky notes system for session insights
- Comprehensive session summaries and reports
- Custom persona upload and management
- Student and practitioner-specific dashboards
Challenges We Faced
AI Response Quality: Initially struggled with getting consistent, realistic responses from the AI. Solved by crafting detailed system prompts and fine-tuning parameters.
Real-time Communication: Implementing seamless WebSocket communication while maintaining session state was complex. We overcame this with careful state management and error handling.
Document Processing: Parsing various document formats (PDF, Word) and extracting meaningful persona data required multiple iterations and robust error handling.
Authentication System: Building a scalable authentication system that could work both locally and in production required careful architecture decisions.
Deployment Complexity: Getting the application deployed with proper environment configuration and build processes took significant troubleshooting.
Impact
TherapyAI provides a safe, scalable environment for therapy students to practice their skills, receive immediate feedback, and build confidence before working with real patients. It also offers practitioners a tool for continued professional development and skill refinement.
Built With
- express.js
- gcp
- gemini
- javascript
- next.js
- node.js
- tailwind
- typescript
- websockets
Log in or sign up for Devpost to join the conversation.