What’s a paranoid child to do during COVID-19?

I’m paranoid. Not just of my own health, but of my parents’.

My mother has asthma, and my father, hypertension. These aren’t the most severe vulnerabilities and are quite common in the US, but still enough to make me worried about their health. To add, I’m a fair distance away from them, so checking in periodically isn’t quite feasible. I call them every day, but sometimes COVID-19 symptoms can be subtle, that is until it’s too late.

Luckily, I was able to convince them back in 2018 to buy into the wearable trend and they both were hooked, tracking their steps and sleep with each new day. This is exciting because my folks’ wearables were being used in studies for monitoring influenza-like symptoms [1], similar to how COVID-19 presents itself in the body. Their wearables even track all three of the metrics referenced in the study: body temperature, respiratory rate, and resting heart rate.

This gave me an idea: what if I built a platform that allows me to create alerts for these metrics on my parents’ wearables? I like to hack, so I got to it. It took a couple of weeks, but I put something together.

Steps to a COVID-19 vitals monitoring MVP:

  1. I used to be a product manager, and in studying Design Thinking I learned the very first question (after validating the problem being worth solving) to ask is: what is the bare minimum amount of effort I need to do to validate if this idea is worth pursuing? So I sketched up a design:

2. I gave this design to friends in similar positions. They were also concerned about their remote family members, we’re good children! I asked them one simple question: what would this need to have to make it useful? The answers were simple but could’ve been overlooked. They included:

  • Painfully simple to set up for my parents
  • Easily view and add multiple people and metrics from within one view
  • Easily add alerts based on predefined thresholds
  • Set it and forget it, passive monitoring

3. Next was to scope out the MVP and begin building. For definitions’ sake, we’ll call users like me and my friends, “admins” and their parents, “users”.

Here’s how it works today:

  • User receives an email invite, creates an account and syncs their wearable
  • They are then instructed to go into the “viewers” page, where they invite someone to monitor their health
  • Admin then receives the invite, clicks the unique link and it gets added to their dashboard
  • Admin then selects metrics to “monitor” and adds alerts based on predefined thresholds they set. For example: “alert me when user’s oura sleep breath average goes below 15”

4. The pilot for this was literally my own parents. Since this was designed to scratch my own itch, I felt this was the obvious first step, and there was no hesitation from my folks. They signed in, integrated their FitBit and Oura ring, and that was it.

5. I got an alert from my moms’ FitBit a couple days later saying that her sleep breath average went above the 30 day high

6. So I texted her, and it turns out she had a bad night's sleep. I gave her some recommendations and that was the last alert I received. False alarm. But, I scored some brownie points!

User flow wrapped up in a 1-minute video:

Here’s the live version: https://meports.com

For you technology & privacy buffs:

  • All sensitive, identifying data is encrypted on the client-side then sent over TLS/SSL and stored in MongoDB, and again encrypted at rest. NoSQL was the obvious choice since all the wearable APIs return JSON in different structures, and I need to be able to handle it evolving.
  • The application tier is built on top of AWS’s ElasticBeanStalk on a Flask backend. I tried to make as much render server-side as possible.
  • An AWS SQS worker is polling a secure REST endpoint (which requires a key and only a certain source IP) every 10 mins for new data, storing it then checking it against existing alerts
  • Alerts are then sent via Twilio’s email services API to the admin’s email when triggered
  • All session information is encrypted into a JWT, stored client side.

It was a fun project and one that was timely. I learned a ton and got to apply even more. I’m glad I was able to release it to become production worthy.

Now is the time where I gather feedback to improve and iterate.

[1] Harnessing wearable device data to improve state-level real-time surveillance of influenza-like illness in the USA: a population-based study — https://www.thelancet.com/journals/landig/article/PIIS2589-7500(19)30222-5/fulltext

Written by

Product Manager, Software Engineer, Problem Solver https://ethansteininger.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store