While washing hands is a very simple and effective way to fight the spread of Covid-19, there are a few common problems that people usually face like

  • Not washing hands in regular intervals
  • Not washing for the recommended 20 seconds
  • Finding it hard to build this as a habit We wanted to build an app that will be a helpful companion for washing hands and will also motivate people to build this as a regular habit, by gamifying this entire experience.

What it does

For this initial version, we have built a mobile app that does the following:

  • Shows a timer with a 2 hour count down from your last wash, to see when you have to wash your hands next
  • Sends a push notification when its been 2 hours and its time to wash your hands
  • When you click on wash, counts down 5 seconds to get ready and then 20 seconds to ensure you wash properly
  • After each wash, we show you a score of how many times you washed your hands
  • We also have levels and achievements based on number of times you washed your hand, in a given day
  • Option to share this achievement in social media
  • History with the number of times washed in the past

How I built it

We used React Native to build the entire app, so that it can work for both iOS and Android. We also used Firebase to send push notifications and KittenUI for the basic UI components. For this initial version, we did not build a server side and made this a client only app.

Challenges I ran into

  • Keeping the tracking timer running, even when the app was killed, was an interesting problem. Our final solution uses local storage to store and count how much time has elapsed and so, works even when the app is not running
  • Sending push notifications without a server is hard and we had to configure Firebase to time and send these notifications in the correct frequency, based on when a user last washed their hands
  • Some of our team mates were new to React Native and we took sometime to set up the environment and learn it as well

Accomplishments that I'm proud of

  • Remote collaboration as all 3 members were at different locations
  • Building a minimal but fully functional and stable mobile app in 2 days

What I learned

While React Native is an amazing framework to let us develop in multiple platforms at the same time, they do have a steep learning curve and the setup does take some time.

What's next for WashHands

  • Make the frequency configurable
  • Add more interesting levels and achievements
  • Add options to login with social media and invite friends, see other friends' scores, nudge friends to wash, etc
  • Make the 20 second washing window more entertaining with some animations or video content
  • Add more learning resources for washing hands as well as more facts on the same

Built With

Share this project: