Project Description: VR Exposure Therapy Application

Project Inspiration

This application, DauntVR, was inspired by a personal experience. My girlfriend suffers from a fear of heights, which limits her ability to enjoy various activities, such as amusement parks and rock climbing. Motivated by a desire to help her overcome this challenge, I developed this app to facilitate her journey towards managing and conquering her fear. Through the use of virtual reality, I aim to provide a safe and supportive environment for individuals facing similar fears, enabling them to engage in experiences that once felt out of reach.

Project Features

The VR Exposure Therapy Application is meticulously designed to assist users in overcoming their fears through structured exposure therapy. Our goal is to deliver an immersive virtual reality experience that empowers users to confront fear-inducing scenarios in a safe and controlled environment. Key features of the application include:

  • Controlled Exposure and Level Selection: Users can choose from various levels of exposure, enabling them to progressively confront their fears at their own pace.
  • Performance Tracking: The application monitors user performance over time, offering detailed reports and insights into their therapeutic progress.
  • Web-Based Dashboard: A comprehensive dashboard provides users with the ability to view and analyze their trial data, featuring dynamic visualizations such as line graphs and radar charts.
  • Scenario Analysis: The app tracks time spent in different phases of each scenario, facilitating an in-depth performance analysis.
  • Engagement Tracking: User engagement is assessed by monitoring the line of sight, allowing for an evaluation of interaction with fear-inducing elements.
  • Adaptive Encouragement System: Real-time detection of user hesitation or fear, providing personalized words of encouragement and supportive advice to boost confidence and motivation during therapy sessions.
  • Helpful Suggestions: Tailored coping strategies and practical tips offered to users based on their progress and specific challenges encountered during therapy sessions.

Current Implementation

The current prototype represents a Minimum Viable Product (MVP) developed using a robust technology stack, including Unity, Django, AWS (with EC2 and Bedrock), Claude-3.5-sonnet, and a range of programming tools such as C#, Python, HTML5, Bootstrap, REST, JSON, ChatGPT, JavaScript, SQLite, Markdown, and Perplexity.ai. Due to development constraints, we have implemented the following:

  • First-Person Perspective: The application simulates VR effects through a first-person view, compensating for the unavailability of VR hardware during the hackathon.
  • Single Scenario: Currently, only one scenario—Height Fear Level 1—has been implemented due to time limitations.

Features Implemented

  1. Exposure Therapy for Height Fear Level 1:

    • Provides users with a controlled environment to safely experience height-related scenarios.
  2. Performance Tracking:

    • Dynamically generates comprehensive performance reports based on trial data.
  3. Web-Based Dashboard:

    • Visualizes user performance over time using line graphs.
    • Features a radar chart for a detailed analysis of the latest performance metrics.
  4. Time Monitoring:

    • Accurately tracks the time spent in various phases of the scenario to glean insights into user performance.
  5. Engagement Analysis:

    • Evaluates user engagement by monitoring their line of sight, assessing interaction with fear-inducing elements.

This prototype serves as a foundational step towards a fully immersive VR application aimed at facilitating exposure therapy for a range of phobias and fears.

Challenges Faced

  1. AWS Setup: My lack of prior experience with AWS posed significant challenges while setting up EC2 and Bedrock and integrating them with my Django application.

  2. Unity UI Development: As a backend developer, my design skills are limited, making it difficult to create an aesthetically pleasing user interface.

  3. Unity Web Requests: The disparity in how Unity handles web requests in the editor versus in builds led to unexpected behaviors that required post-development adjustments.

  4. MongoDB Atlas Integration: Attempting to use MongoDB Atlas as the database for my Django application was problematic. As a NoSQL database, MongoDB is incompatible with Django's built-in ORM, which expects a SQL-based database. This resulted in unpredictable errors, necessitating a switch to a different database mid-development.

  5. Django-Unity Integration: Integrating Django with Unity via a RESTful API proved to be a complex challenge that required careful attention and troubleshooting.

  6. Time Constraints: The numerous deliverables associated with the project resulted in significant time pressure, making it challenging to meet all deadlines.

Future Development

  • Convert the platform to actual VR controls compatible with all popular VR headsets using Unity OpenXR packages.
  • Implement heart rate monitoring and eye-tracking to enhance report generation to provide better insights into user behavior.
  • Integrate a better LLM model for more accurate insights.
  • Implement additional scenarios and fear types
  • Enhance UI/UX design
  • Optimize performance and expand platform compatibility

(Please note that the project is no longer hosted on AWS due to costing reasons. However, it is still available on GitHub. Thank you.)

Built With

Share this project:

Updates