ANATOMY OF A MEDICAL APP: Part 1. MobileSleepDoc from Concept to V1.0

Let me begin by saying that as a doctor, I do not know programming code from a “code blue.” But after seeing hundreds of patients over the past 20 years with sleep problems, I decided to create a mobile medical app to help as many people as possible who have trouble sleeping. This was partly for selfish reasons, of course, since the number of people suffering from sleep problems is overwhelming– compared to the number of practicing sleep specialists, the ratio may be as high as 20,000 to 1. As more and more of my colleagues opt out of seeing patients, the present and looming doctor shortage becomes a very real threat and challenge for all of us. People, therefore, are not seeking or getting the help they need to get the best quality sleep—the most effective performance enhancing drug we can prescribe. Creating MobileSleepDoc and using current technology to educate, diagnose, and guide people to proper treatments seems to me just a practical necessity.

Our model of medical education is initially system-based, and then problem-based. For example, we spend the first part of medical school learning the normal functions of different organ systems—lungs, heart, kidneys, brain, etc.—and then the latter part learning about the diseases that affect each organ system—asthma, emphysema, coronary artery disease, kidney failure, stroke, etc. Traditional medical education introduces patient care in the latter part of medical school (note that this model of medical education has been altered more recently). After graduating from medical school, our real education begins. Patients and published research help us create—sometimes deliberately and sometimes not—treatment frameworks, or protocols, for the diseases we’ve studied. We ask ourselves, “Does this person fit into the expected pattern of signs and symptoms of the problem I am treating? If not, what other diagnoses should I consider? Are they responding as expected to treatment? If not, why?” And so on. Sleep Medicine is a newer member of the medical sub-specialties, and although there may be many “official” sleep diagnoses in the coding manuals, the vast majority of sleep patients present with one or both of the two most common diagnoses—insomnia and obstructive sleep apnea. Thus, when designing MobileSleepDoc, I decided to focus on these 2 disorders.

What is MobileSleepDoc?

The concept for MobileSleep Doc was years in the making, but the first build, or version, of the app began in the late spring of 2012. The path to V1.0 can be outlined as follows:

IDEA–>Budget–>Pitch to Developers–>Choose a Development Team–>BUILD

…with the last component of building the app feeding back to the original idea and budget, in an ongoing manner.

Interestingly, the acronym “IDEA” itself describes the key components of MobileSleepDoc:

1) It is an INTERACTIVE tool that helps identify 2 of the most common sleep disorders, insomnia and obstructive sleep apnea;

2) It is DESIGNED by a board certified sleep specialist, based on proven methods and >20 years’ experience taking care of sleep patients;

3) It EMPOWERS users to take charge of their sleep problems;

4) It ACTIVELY engages users in their own health, which will ultimately make them healthier.

How does MobileSleepDoc work?

The app asks users a series of questions about their sleep and, based on their answers, guides them to their possible diagnoses; specifically, the app lets them know whether they have signs and symptoms of insomnia or obstructive sleep apnea

In the case of insomnia, the app will lead the user to 2 common behavioral therapies prescribed in real-life office situations, such as Stimulus Control Therapy (SCT) and a mild version of Sleep Restriction Therapy (SRT), which I call “SRT-light.” SRT initially causes sleep deprivation, which aids the user by increasing the pressure to sleep at the desired time.


1) Go to bed when sleepy, not when you think you should go to bed

2) Get out of bed if not able to fall asleep in 15-20 minutes

3) No naps

4) Bed/bedroom for sleep only

5) Keep a regular wake up/get up time, no matter when you fall asleep


1) Pick desired wake-up time and stick to it

2) Get into bed 7 hours before this desired wake-up time

3) Follow SCT rules 2-5

4) Once user’s sleep efficiency improves and holds steady, the user can add time to their total sleep period by going to bed progressively earlier.

5) SRT is “completed” once the user attains a sleep efficiency >85% most nights, and feels generally refreshed during the day.

MobileSleepDoc monitors user data and gives feedback to encourage the user to continue keeping their sleep logs.

For BOTH SCT and SRT, keeping daily sleep logs is very helpful and a great way to chart the user’s progress. MobileSleepDoc provides an extensive library of reports that the user can email to themselves or their doctor, for review and guidance.

In terms of obstructive sleep apnea, MobileSleepDoc uses well-established questions to help screen for signs and symptoms of this disorder. If sleep apnea is suspected based on the user’s responses, then the user is given links to further resources, and a map of the closest sleep centers.

How much did it cost to create a MobileSleepDoc?

I do not recommend developing an app of any sort with the primary intent of making money. I created MobileSleepDoc because the idea was stubbornly implanted in my brain. My primary intent was to create a beautiful and useful tool that had the potential to help many people with a real world problem. Building an app costs a lot of time and money—probably your time and money, and more of both than you think. A different person in a different situation might be able to get someone else to pay for their bright idea, but as a female person of color over the age of 50 with no background in programming or technology, investing in myself seemed like the most pragmatic option.

The other core decisions to consider were:

  1. How much could I afford to spend on this idea? Or as my father would say, “Never gamble more than you can afford to lose.” I had some rough idea of my target investment but later found out that the more complicated the app, the more expensive it was to create. Also, I learned that the complexity was not always clear to the developers or even myself, especially in the beginning. I presented my ideas and budget to 2 different development teams, filled out detailed questionnaires about the project, and interviewed both companies. Luckily, I found out that my initial budget was in the right ballpark for both companies, and picked the team whose approach I liked best.
  2. Expect to go over budget and have a buffer of 50%. See above.
  3. How much time did I have to be the real project manager? The main objective of the developers is to help you realize your vision, so having a vision is advised. Although I worked with talented project managers throughout this process, I discovered I was the actual project manager. I needed to be an integral part of the process from day 0. MobileSleepDoc V1.0 took 9 months to launch and 460 hours of my time. I educated myself as quickly as possible to be able to ask questions and make decisions (a LOT of them—from the logo, font, and colors to the logic, wording, and price). I was the ultimate authority over all decisions, so I quickly learned not to be afraid to make them.

It was in my best interest to fail as fast and often as possible in order to avoid wasting precious time and resources.

We launched MobileSleepDoc V1.0 in December 2012. We made several important upgrades and added an Android version to iOS, ultimately launching V1.4 of both in March 2013.


MSD splash screen logo

 MobileSleepDoc Version 1.0 Logo

Coming next—Anatomy of a Medical App: Part 2. MobileSleepDoc V1.0 to V2.0, A Doctor’s View of Wearable Tech

Melissa Lim, MD

Pulmonary, Critical Care, Sleep Specialist

Redwood City, CA

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s