Inspiration

This project was inspired by:

  • COVID-19 and the prevalent remote working circumstances
  • The increasingly sophisticated technology of Machine Learning in the area of Facial Expression Recognition
  • The lack of similar apps available for CBT and mindfulness

What it does

Allows users to:

  • identify therapy issues
  • reflect on issues (and log these reflections)
  • select exercises relevant to their preferences
  • enable MoodMonitor with Facial Expression Recognition -> if user is predictively upset, BitTherapy will launch a notification/popup with an activity to help ground the user with mindfulness.

How I built it

Desktop:

  • using a web-app wrapper CEFPython to emulate a desktop application and improve migration later on to the web if so desired
  • using FER Python library
  • using Bootstrap/jQuery for improved design and development speed
  • using BeautifulSoup to dynamically load and render data URIs

API:

  • Django Rest Framework with MySQL RBDMS

Challenges I ran into

While a lot of the web-based bindings were fairly intuitive, it was quite a learning curve to handle certain edges cases, such as:

  • having to render everything as data URIs (and thus intercept and render contextually depending on page)
  • multiple threads -> video capture has to run on a separate thread and periodically send events to the UI, which gets tricky as the CEF bindings implement their own multi-threaded logic

Accomplishments that I'm proud of

  • This was considerably more complicated than most projects I have worked on, but it was awesome being able to make it all work, especially with the ML-driven activity prompts.
  • I truly believe this application could help people in their therapy amidst these unprecedented times of isolation.

What I learned

  • Next time, to use some sort of package builder like webpack in order to get a better and more efficient workflow going for debugging/designing.

What's next for BitTherapy

I have already have an agreement with a local therapy clinic to demo this product to some of their therapists!

Upcoming features:

  • SmartWatch vitals sync
  • Therapist sync
  • Improved security for accepted level of medical compliance
  • More treatment exercises
  • Journal page
  • Profile page
Share this project:

Updates