COVID-19 doesn’t just harm us physically. It can also be harmful to our mental and interpersonal well-being. In Singapore, there was an increase in family violence and a surge in mental health issues since the nationwide lockdown that started on 7 April this year. During this period, a market research company known as Ipsos found out that 1 in 4 respondents of an online survey was not in good mental health. One of the main reasons is the extended periods of social isolation and loneliness during the national lockdown (Source). Furthermore, mental illness is still taboo in most countries and mental disorders are on the rise globally.
In line with the theme of "Physically Apart, Virtually Connected", this project aims to:
Improve the accessibility of mental health support. With the practice of social distancing, it is very unlikely that someone would queue and visit the therapist in person. That is why it is important to create a solution where patients can be attended by trained professionals virtually. I believe that mental health support must be widely available and affordable so that the mental health taboo can be broken.
Support COVID19 research. The root issue of social distancing is the existence of COVID19, so why not support the cause of COVID19 vaccine research? Without COVID19, I believe that social distance can be restored and the number of mental health cases can also be reduced.
What It Does
To accomplish the objectives, I built the Human to Human project as a website that:
Allows certified psychologists, psychotherapists, and mindfulness coaches to register as our virtual therapists or lifestyle coaches.
Enables users to sign up for therapy sessions and mindfulness sessions online.
Automatically creates a Zoom meeting schedule, notifies web contributors (virtual therapists and lifestyle coaches) and users, and reminds both parties when a session is booked by the user.
Allows new users to book the first two sessions for free (1 therapy session and 1 mindfulness session).
Sells multiple session packages at affordable prices.
Raises awareness of mental health through transparent donations.
Donates 10% of profit to UNICEF and the Institute of Mental Health.
Allows users to make a donation directly without purchasing any session packages.
How It Works
Step 1: User signs up as a member (Free membership)
Step 2: User indicates to book a Therapy Session or a Mindfulness Sessions
- Step 3: User selects a slot
- Step 4: User purchases a session package. If it is the user's first time, the first session will be free of charge
Step 5: User and Therapist (or Mindfulness Coach) receives a notification about booking details with a Zoom meeting link
Step 6: Both parties receive a reminder about the upcoming session.
Step 7: The session begins
I started by designing the web layout first. I chose a minimalist approach to ensure that the presentation of the website is clean and welcoming.
Next, I made full use of the Wix Apps such as Wix Bookings and the elements of Wix Members Area. The idea is to exhaust the capabilities of existing pre-built functions provided by Wix before building any functions or systems from scratch. I have also used Wix Pay API to process payments from the purchase Wix Pricing Plans function.
1. Limited Transaction Functions
There was no "Test Mode" for WixPay API to test a transaction and I couldn't access transactional data from Wix Corvid. These transactional data are an important part of the transparent donation distribution because I want to show and update donation details upon transaction completion.
The Solution: Integration of Stripe API
With this solution, I was able to save, update, and retrieve transactional data. This was possible through the use of:
Corvid Database Collections to store transactional data
Stripe NPM package to use Stripe API
Secret Manager to store and access Stripe API Secret Keys securely
Corvid NodeJS backend to create Checkout Sessions
HTTP Functions to receive webhook data from Stripe.
The Result: Transparent Donation Distribution
The solution allowed me to show a summary view of the Donation Distribution. Upon the completion of each transaction, the data in this summary view will be updated as soon as the backend server receives webhook data from Stripe.
2. Zoom Integration
I wanted to create a system where Zoom meetings can be created and hosted automatically by the therapist or lifestyle coach (so that the sessions remain private) when a user books a session. However, this is not possible because Zoom API configuration is per Master user based i.e. I can't let it interact with any free Zoom accounts (the therapists' account) unless these accounts were created as a sub-account under my Master account (Source). Furthermore, to create sub-accounts, I will have to subscribe to paid plans, which is beyond the scope of this Hackathon.
The Solution: Wix Events
Thankfully, there was an alternative solution that is free of charge. By creating an online Zoom event in Wix Events, all sessions will be hosted by my Zoom account. As a result, both the therapist or lifestyle coach, and the user will be able to join the meeting once I have initiated the meeting.
The Result: It Works
With this method, I can leave the Zoom Meeting room when both parties are present, so the sessions remain private. One drawback of this method is that the meetings will have to be initiated manually by myself and I can't host concurrent sessions. Again, the limitation is due to the scope of the Hackathon and I'm sure that I'll be able to make this solution more elegant if I subscribe to the paid plans and create sub-accounts.
This website was created for this Hackathon and all the details of the therapists and mindfulness coaches are for demonstrating purpose only. However, this website is fully functional and as a user, you can:
Sign up and book 2 sessions for free (1 Therapy Session and 1 Mindfulness Session)
Receive email notifications for booking confirmation, Zoom meeting details and session reminder
Attend the Zoom meeting (I will not start any meetings for any booked slots in this demo)
Make a direct donation by using one of Stripe's test cards. Once the payment has been completed, you will be able to see the updated amount in the Summary View of the donation distribution.
This is my first time joining a Hackathon and I enjoyed the process of creating this website. Please feel free to comment and give me any feedback. Thank you for reading my entry!