Noticing the impact of COVID-19 — from the many students struggling with educational disruption to the significant lifestyle changes that have made people with special needs and those who are immunocompromised increasingly vulnerable — we designed and developed a virtual platform that is multi-purpose, practical and easy-to-use to mitigate these issues. Help@Home is a platform that connects volunteers and people who are in need. At Help@Home, students can receive immediate feedback from supportive volunteers by posting questions on our homework forum. Kids, people who are immunocompromised, and people with special needs can book a volunteer for grocery and medication pickup with our booking system. Help@Home also provides a judgement-free mental health text line, and a homework forum to support students in grades 4-12.
Purpose & Motivation
In an unforeseeable crisis like this, people must remain united despite the social distancing restrictions imposed by the virus. It is inevitable that people need to adapt to virtual meetings and transition to online teaching. However, some challenges are still unavoidable for groups such as children, those with special needs, and immunocompromised people who may be at higher risk than others. Besides the stress that may be present in one’s daily life, less exposure to the outside world and reduced contact with other people can also deteriorate one’s mental health, leaving one feeling lonely and depressed. Hence, we came up with three services centralized on one platform that target several main issues people face during quarantine: a homework forum for students, a mental helpline in the form of a chat box, as well as a volunteer booking system to book volunteers to help with grocery/medication pick-up services for those who might be unable to leave the house.
How this application works
The majority of users first create an account before using the Help@Home platform (however, the platform can be viewed by anyone regardless of whether they have an account). From here there are two types of users: ‘volunteers’ and ‘clients,’ which is chosen upon registration.
- Can rate volunteers after an appointment is completed, creating a more reliable system for other clients to choose volunteers
- Can post questions which would later be answered by our volunteers on the homework forum
- Login and chat anonymously on the mental health text line
- Can view past and upcoming appointments on their profile page
- Can view volunteer’s availability and select a time slot for grocery/medication pickup appointment booking
- Answer questions on the homework forum
- Moderate and answer direct messages on the mental health text line
- We understand that volunteer hours/times are required as part of students’ community involvement grades by some high schools, thus, Help@Home keeps a count of the number of appointments the volunteers complete on their profile page
- Can view past and upcoming appointments
- Can share their availability if they choose to participate in the grocery/medication pickup appointment service
How this application was developed
This application is built with both frontend and backend technologies.
The backend RESTful API service is built with Ruby on Rails powered by PostgreSQL. It is designed with self referential association for improving the query speed and avoiding the extra unneeded models. To persist and maintain databases, the validations are implemented. For security management, the backend is developed with JSON Web Token, bcrypt and dotenv-rails. The Heroku platform was chosen to host because it’s quick to provision and quick to deploy.
Frontend Github link:https://github.com/emilyychenn/girlsintechhackathon
Backend Github link:https://github.com/GAierken/girlsintech_hackathon_backend
How to use this application
The first page the user/volunteer accesses is the main page, which shows the three different services we offer. As you scroll down, it displays the “signup” or “login” option on which the user or volunteer can click to set up or access their account. After signing in successfully, you are guided to your own profile page which contains 3 grids. The first grid shows your profile information which you can edit anytime. The second grid is a medium through which you can access the different service pages. The third grid displays the past and upcoming appointments the user has. For the appointment booking system, the user is able to view the past appointment information including the volunteer names, ratings and times. Their own Google calendar is also attached to the website so that they are able to view their own availability. To book, the user can just choose a date and time using the time-picker as well as a volunteer from the list of volunteers we have, then press submit. With regards to the chat function, the user has to set up a nickname, then is guided to the chat platform on which they have the option to join groups. On the homework forum, they can just enter the questions they have and those would be later answered by our volunteers.
Difficulties/Challenges we faced
In the beginning, we had difficulties assigning roles and making it clear what each person is responsible for. Hence, confusions arose which resulted in race conditions and merge conflicts for our members who were trying to work on it at the same time. However, after breaking it down further and examining the details, we had a more precise understanding of the steps we needed to take to achieve our end goal and hence improved our ability to delegate tasks. Since many parts of the project are interrelated, it was also challenging for us to collaborate together due to time differences. Therefore, there was a delay which some people had to wait till another person finishes till they can begin their part. Because not everyone is a full-stack developer, we divided the team into frontend and backend. However, due to the lack of experience, some of us had trouble understanding other people’s tasks. For example, the frontend may not fully understand how data is being fetched and manipulated in the backend. We overcame those problems by explaining the concepts and algorithms to one another in a clear and easy to understand manner.
Accomplishments we are proud of
Originally, our aim was to reach out to different groups of people and provide humanitarian support during an unprecedented time like this. We are proud to say that we reached our end goal and realized our original idea of making a website that is multi-purpose, encompassing a variety of different features and serving as a one-stop application for people who are impacted by Covid-19. We are also glad that we were able to connect the backend with frontend technologies so that not only does it have the user interaction feature, but is also functioning as information about the user and volunteer is deployed and updated simultaneously. This means that our application is not just a prototype, but it can be put into immediate use. In addition, not all of us knew each other in the beginning and our skills vary from member to member. However, we were able to cooperate and delegate tasks in a way that every member was able to contribute to the project based on our unique skill set and experience. Since our project relies heavily on different API platforms, we struggled with making API calls to an extent. Nonetheless, we were able to work together to troubleshoot the bugs and polish our work. Everyone has learned new technologies from this project.
What's next for Help@Home: Go-to-Market Evaluation
The internet is one of the most accessible platforms that has a wide reach to a variety of different users. This makes Help@Home easily accessible to the public. Additionally, Help@Home would be a free platform available to anyone who has internet connection; as the scale increases, we would likely have a donations feature or a few advertisements on various pages to mitigate costs. For optimal product-market fit and as the number of users increases, we would create surveys for our users to fill in after they use the web application so that we can take in suggestions and feedback to enhance the platform. To scale the product, we could move it to cloud solutions for greater flexibility and efficiency on our technical management end as well as the user’s. Marketing it on social media such as Facebook and Instagram would also help attract new users.