5 steps to making your medical app idea a reality

by: Craig Monsen, MS

[Ed. This is the first part of a two part series. Craig Monsen is a medical student at Johns Hopkins and co-creator of Symcat, a next generation symptom checker for crowd-sourced diagnosis. He and David Do are currently developing Symcat at the Blueprint Health startup accelerator in NYC. ]

You’ve got this great idea for a medical app that will transform health care (or at least a chunk of it).

Now what?

There is no one path to executing your idea. Particularly for those of us in medicine where the course is clearly delineated (pre-med, med school, residency, etc), acknowledging this fact can be disorienting. My goal here is to suggest one path that has helped me personally get beyond the ideation phase.

1. Find a friend

In the future, this person will be called your co-founder. For now, it is a buddy with whom you like to work and share common interests. In truth, you can probably complete all the following steps without this, but, like a tough workout routine, it is much easier to get through the hard parts when you have someone that shares your goal and can help take some of the weight off of your shoulders.

Recognize that great ideas die the moment the vision is lost. It is like a fire that needs constant fanning. I consider myself highly motivated and still, on a regular basis, I want to quit either because “someone has already done it” or “it is impossible.” The same is true for my co-founder, David. Fortunately, and I can only theorize why it works out this way, David and I find ourselves perfectly out of phase, fanning the fire constantly.

2. Learn to code

If you already know how to code, great. If you don’t, you should learn. Just enough to get you by. There are a bunch of reasons why this is a good idea.

  • To evaluate other developers
  • To run early experiments (see step #4)
  • To understand what technical challenges your idea faces
  • To be taken seriously

Fortunately, there are only two things you need in order to learn how to code.

  • A partner (for the reasons in step #1)
  • A (series of) project(s)

The second point requires some explanation. The best way to learn to code is to do it and the only way to make learning tolerable is to have a project you want to see completed. I suggest you (with a friend):

  1. Read How I Failed, Failed, and Finally Succeeded at Learning How to Code
  2. Do a few (short) projects on ProjectEuler or Codecademy
  3. Take David Malan’s free (Harvard) course Building Dynamic Websites
  4. Do a simple project that you are interested in (our first one was a facebook app that transferred friends’ birthdays to your google calendar). This may be your app.

It is more important that you learn how to build something then that you learn a particular language. That said, I would suggest learning Ruby on Rails.

3. Do your research

If you are serious about your idea, you need to make sure that it has not already been created. Chances are good that there is something out there that at least resembles what you are doing. You should do a web search and search the app stores. Google Scholar may also be relevant. It is worth going past the first few results and trying anything that seems even remotely useful. Doing so may reveal clues as to what challenges you may have (eg distribution, keeping people engaged, technical issues).

Moreover, people will ask (either in person or as a user) how you are different or where your competition is. Here is where you get your ammunition to answer those questions.

4. Validate your idea

Entrepreneurship is a series of experiments. You want to perform the cheapest experiments possible early on and scale them up as you make progress. This is part of “Lean Startup Methodology” and is the philosophical offspring of the Toyota Production System.

Sometimes this means you have to build a version of your app and sometimes not. For example, you may be able to build a landing page that describes only what your app does using a LaunchRock or similar service in order to collect emails. This may be the easiest way to test if people are interested in using your app, which would be helpful to know before you actually start to build anything.

Related to this, I suggest you get comfortable sharing your idea with others. It is often feared that sharing your idea makes it easy for others to steal. I suppose there is that risk. However, far outweighing that is the fact that sharing it widely allows you to get valuable feedback.

5. Secure your resources (time and money)

You can probably do some early experiments while you still have a day job. Ultimately, though, you have to take the plunge and commit some real time to it. Jumping off at “The Right Time” is a leap of faith. It is also a very personal decision highly sensitive to individual circumstance. For David and I, taking time off between the third and fourth year of medical school made a lot of sense because we do not have additional obligations to patients or dependents.

The decision to take some time can be made much easier, though, if you are promised funding. There are a number of ways to obtain funding and this is the subject for my next blog post.

[Stay tuned for part two of this series!] 



iMedicalApps periodically features contributed articles from clinicians, researchers, and industry leaders with interesting perspectives to share.

Follow Me

Click to view 34 Comments

34 Responses to 5 steps to making your medical app idea a reality

  1. josh March 5, 2012 at 1:26 pm #

    Step 2, you’re kidding, right? I can say this because:
    a) I tried to learn iPhone programming from scratch. Impossible unless you know modern object oriented programming AND Objective-C
    b) I have 9 apps in the iTunes app store anyway

    The only way to produce apps without being a software engineer is to collaborate with someone who can do the coding. Simple as that. That’s what I’ve done.

    • Craig March 5, 2012 at 5:06 pm #

      Hey Josh,

      Let me share a little bit more of my perspective on Step 2.

      I should say I believe it is possible to wireframe your idea and hire a team of engineers, but I’m honestly not that familiar with it and I think you risk selling yourself short not knowing at least the basics of coding.

      Second, it’s great to collaborate with more technical folks, but you have to find them first. At Blueprint Health, there are several teams that started with no technical founders and it was challenging for them to identify who actually was worth their salt without having a technical background themselves. You may be able to circumvent this, though, by getting some help from a friend. I’d be very interested in hearing what your experience was like.

      Also, I should say that I kept it as Step 2 only because that’s the order I did it in. It can also potentially be a Step 4. It’s easier to learn to code if you have a project that you really believe in (or that a lot of people have already showed interest in by giving you their email).

      Finally, I wouldn’t advise starting with iOS coding and especially not alone. With HTML5/JavaScript/CSS you can build a functional web app using cross-platform technologies like PhoneGap or Sencha Touch. Happy to talk more about that. Maybe a future post?


    • Shloma June 18, 2012 at 12:15 pm #

      Beg to differ. You should learn to code – not necessarily to write the code, but to know how it works – to understand what’s realistic and what’s not. I did some programming in school, but nothing since then. I picked it up pretty quickly. There are a variety of “getting started” books and video tutorials out there, as well as seminars by About Objects and Big Nerd Ranch. The Lynda online material is good too. No excuse not to learn if you are serious about your endeavor.

  2. Ed Wallitt March 6, 2012 at 6:52 am #

    @josh and @craig

    I agree with what you say Craig – there is a huge benefit to be gained from knowing the basics. To build a truly great medical app/website you need to not only understand the unmet needs in an medical area, but also the basics of how your proposed product will work from the code side.

    Ultimately – if you don’t learn to do it yourself then you will have to get someone to build it for you. I can guarantee that you will build a much better product if you know some technical details of the platform you are building for. This is primarily as your communication with the developer will be so much clearer.

    I would also add that learning to code an iPhone app is in no way rocket science. With iOS5, the new Xcode and great online learning resources such as treehouse.com, I would argue that if you are intelligent enough to get a medical/nursing/paramedical degree, you should be able to pick up iPhone programming in a snap and build something really good. In fact this is exactly what we do over at Podmedics. 😉

    Find a project and just build it. This stuff really isn’t that hard.


    • Josh March 6, 2012 at 3:44 pm #

      Hey Gentlemen,
      So let me ask you. Do each of you know object oriented programming and a C based language?

      • Ed Wallitt March 6, 2012 at 3:47 pm #

        Yes – of course.

      • Craig March 6, 2012 at 4:02 pm #

        I ostensibly learned C in an intro computer science class 8 years ago. I can’t guarantee I didn’t reach within the far recesses of my mind when I relearned to code for the purposes of developing symcat.com, but it sure felt like I was learning fresh.

        I doubt if I can prove it, but I wager that most people’s frustration with learning how to code comes from picking a project that is too much, too fast. Start small and build up to your vision.

        • Josh March 6, 2012 at 4:16 pm #

          I tried not one, not two, but three different “how to program iPhone” even the “iPhone programming for Dummies” book. In each case the chapter came up on Model View Controller and that was it. The sample projects invariably had glitches (mine, theirs, I dunno) and when you don’t know what you’re doing you can’t problem solve. Xcode and iOS sdk is not like using PowerPoint. You have to know object oriented programming and a he’ll of a lot of coding. Otherwise words like superclass and instantiate make no sense, and nothing makes up for that. Those words still mean nothing to me. I am not dumb. I perform surgery, I deliver babies, I I take care of critically ill patients. But without quitting my day job I cannot get anywhere in coding/creating apps. The reason I have 9 apps in iTunes is because (a) I teamed up with comp sci grad students at local state college, and (b) I programmed thru high school in pascal, and I graduated in 1987. So one again my concern is that you’re telling people it’s a snap to pick up app programming

        • Ed Wallitt March 6, 2012 at 5:09 pm #

          I agree – there is definitely a learning curve to all of this. However, having learnt to code I would say that it is wise to be aspirational in this area.

          If you can’t build your medical app yourself, make it your business to know as much as possible about the code and technology as possible . If you do then I really do believe you will make a better product. You will also save yourself a lot of stress!

          Resources online are simply fantastic for learning the basics (books tend to be way out of date). Once again I would cite organisation such as CodeAcademy (http://www.codecademy.com), Treehouse (http://teamtreehouse.com) and CodeSchool (http://www.codeschool.com) as leading the way in this area.

          @josh – if you can deliver a baby and perform surgery – I promise that you will find the above helpful, and in no way too complex.


  3. Craig March 6, 2012 at 6:04 pm #

    I would also add that Google is an incredible resource. The article I cited mentions this but it’s worth repeating: the fact that code is text makes it significantly more accessible to learn. Next time you get an error, try copy and pasting some (sometimes all) of the error into Google. Chances are there is a stackoverflow question about it.

  4. Felasfa Wodajo, MD March 6, 2012 at 8:58 pm #

    @Ed and @Craig

    Speaking as a surgeon who used to code, I can safely say the time required to master Obj C and iOS is not compatible with keeping a day job and make an app much more complicated than Hello World. Yes, understanding “MVC” and “instantiate” are not that hard for a physician and there are great resources out there. But, if you want to build an app or start a business, you will have to decide where to put your precious time. Burying yourself under manuals for a few months just to make a simplistic app probably won’t help your startup thrive. On the other hand, if your main product is software and you have no clue about code, user interface or platforms, you’ll probably fail too ! So, I do agree that is not that simple to make a worthwhile app but if you think “hey I’ll just come up with the idea and somebody else will write it”, it proably won’t turn out that good either.

  5. Palmdoc March 6, 2012 at 11:15 pm #

    Or else simple HTML/Javascript coding for a medical web app. I use NSB App Studio to create the mobile web apps at http://medwebapp.com
    At least they are multi-platform capable and can run on my iPhone, HTC or Palm Pre3 as well as on Tablets.

    • Craig March 6, 2012 at 11:28 pm #

      Great point. You can quickly make a nice, mobile-accessible app using an HTML5/Javascript framework such as jQuery Mobile (http://jquerymobile.com/). Actually, that’s probably the best bang for your time-spent-learning-to-code buck.

      By the way, love your apps @palmdoc!

  6. Palmdoc March 6, 2012 at 11:29 pm #

    Btw, I must add creating apps with NSB App Studio (http://nsbasic.com) is really really easy and I think something hobbyist coders can consider. There’s a free try before you buy option and it costs $99. Worth every penny too. The apps I create are largely for my own use, can run offline (if saved as a shortcut on the homescreen) so do not always require an Internet connection. If anyone wants to collaborate with me on more medical webapps please feel free to contact me.

    • MJ Graham January 4, 2014 at 1:58 pm #

      Hi Palmdoc,
      I know these posting are nearly a year old, but I’m a graduate nursing student interesting in creating a medical app for various mobile venues. How can I collaborate with you or someone else reading this to get my project on the roll?

  7. Palmdoc March 6, 2012 at 11:36 pm #

    Thanks for the kind words, Craig. One more thing NSB App studio also supports the jQuery mobile as an option.

  8. Miguel Borges March 7, 2012 at 10:39 am #

    I thought it would be a good idea for me to barge into this discussion.

    I’m a 5th year medical student from Portugal and just a few days ago I my first app got released for the iPad on the App Store.
    I was all my own doing — programming, graphic design, content.

    My Self Exam – http://itunes.apple.com/en/app/my-self-exam/id504677674

    Now for my take on Craig’s article:

    Coding is hard. I mean, it’s not that hard, but it’s also not for everyone. If you were never really good at math in school, chances are you are going to find coding quite a chore. It involves great amount of logic, abstract reasoning and calculations at times.

    Now, is it impossible for a physician, with no previous experience in coding, to learn, let’s say Objective-C? No, of course not. Actually, learning Objective-C is itself, is in my opinion, the easy part. Objective-C is a very accessible language for a beginner.

    And here is, it seems, the greatest point of confusion. One thing is to learn the programming language; another completely different thing is to learn the iOS APIs (Application Programming Interfaces) — this means everything that goes from using navigation bars, tab bars, transition animations, playing video and sound, and so on… that Apple has already provided you with from the get-go.

    I speak for myself, but it took me just about 3 month to feel I had become proficient in writing Objective-C, but to really understand the APIs, their intricacies and using them efficiently, you had literally to second guess yourself almost every step of the way. It took way more than just 3 months, and even now I feel like i’m still learning…
    You see, Apple’s APIs are closed grounds. Which means, you don’t see how the whole thing works on the inside. They just give you the tools and framework, some reference, and expect you to figure out the rest.

    What I think Craig meant with his Step 2 — Learn to Code, was that for you to be taken seriously when you come up with an app idea and are considering outsourcing the coding work, you need to have a basic understanding of how it can be accomplished, what the limitations of the platform are, determining feasibility, and that means having a basic knowledge of the programming language, or even better, a basic understanding of the APIs.

    Anyway, that’s my opinion and experience of the whole process.

  9. Miguel Borges March 7, 2012 at 10:47 am #


    BTW, I think Symcat is a brilliant project. Congratulations on that. But how do you think it’s going to stand up to IBM’s Watson, which is about to start being used on healthcare?
    How do you figure it will stand a chance?

    • Craig March 8, 2012 at 12:44 am #

      I completely agree with your assessment of the challenge of learning an API on top of a new language. That’s partly why I suggest the Building Dynamic Websites course. It fairly concisely explains many of the abstractions that make the web (and apps) possible. That knowledge is a powerful tool in understanding the app you (or someone else) is building.

      Don’t want to get too off-topic re: http://symcat.com, but suffice it to say I’m skeptical that NLP (ie Watson) will provide a scalable answer to medical decision-making within the next few years. I’m planning on writing a post on http://blog.symcat.com about it in the near future. For now, my favorite article about Watson is http://www.ibm.com/developerworks/industry/library/ind-watson/

  10. Marc-Emile March 7, 2012 at 11:04 pm #

    1. Friend: That’s what I did; Benoit (the guy that did the Speed Anatomy series of app) was a childhood friend.

    2. Code: I tried; got a few books, played around in xCode… to keep it simple, I decided that my time would be better spent learning medicine. What takes Benoit 5 minutes would take me 3 hours. I agree though that having an idea of what’s going on behind the scene is very important.

    3. Research: Very important.

    4. Idea: this is Lean Startup methodology (good book by Eric Ries) inspired and I agree; as far as sharing your idea, I strongly recommend doing that. I’m a strong believer in “idea is nothing without proper execution”.

    5. Resources: don’t forget to take your time into consideration. I’ve been telling people to take the time they think an app takes to put together and do X 10.

    Overall, there’s no magic solution for getting on the app bandwagon; you just have to find your own.

  11. Brian Berg March 10, 2012 at 1:32 pm #

    As an independent app developer, I can honestly say I’m not interested in learning how to perform surgery — so I turn to experts for that service. I would highly recommend that doctors and hospitals partner with local developers who can help them avoid many obstacles and headaches. Phoenix Children’s Hospital contracted with me to develop a free “Car Seat Helper” safety awareness app — their very first mobile app. The app has since won multiple awards and generated so much positive exposure that they more than got their money’s worth by working with my company to bring their ideas to life. They most likely wouldn’t have gotten the same results if they attempted it on their own.

    • Brian Berg March 10, 2012 at 1:44 pm #

      Follow up note:
      In re-reading the original post, I understand that the author is talking more about an individual with an idea for an app that they want to launch on their own. My comment was directed more for organizations who think they can learn how to develop their own apps. Even so, I stand by my assertion that it’s still a good idea to partner with someone who is experienced in app development and mobile user interface design.

    • Jesse December 13, 2012 at 1:14 pm #

      How did PCH find you? I’m a surgical resident with only very limited programming background but with some graphic design background. I have built a wireframe for a very simple iphone app and while I would love to learn to work with cocoa touch, neurosurgical training is not very amenable to such hobbies. I have gotten quotes from several US companies – all slightly beyond what I can afford and the app will not generate revenue either. I’d like to work with an independent developer, but it seems that most of them are available through bidding sites and that they are largely located abroad and have questionable reputations.
      As a separate question, does anyone here know of any good small startup grant sources for helping to develop medical apps?

  12. Rebecca Violette March 14, 2012 at 11:27 am #

    I’m a nurse at Maine Medical Center in Portland, Maine. I work in the ICU, eICU, and Pulmonary Critical Care Research. I have been thinking about an app that I believe could be life saving. I’d like to talk with someone that could guide me through this process. If anyone is interested in assisting me in the right direction, please email me!

    • smartblueeyes March 21, 2012 at 5:39 pm #

      Hi Rebecca,

      I’m a psychologist and I’m in a similar place, I have a great mental health app but no software or
      coding experience. I’d love to network with you.

  13. Jeff Brandt March 17, 2012 at 5:29 pm #

    It is a bit unrealistic to think that someone without Software experience could produce a usable app. There are many that has tried, the reason there are 13000 health apps in the store. I have over 20 years of experience as a true software engineer BSCS and working on my grad in BioMedical Informatics and it is not that easy.

    If you really want to get into the medical app business and I am assuming you have medical experience, do some reading on defining requirement first. Define the Idea and the problem you are solving.

    Jeff Brandt

  14. Frank T March 22, 2012 at 10:01 am #

    @Ed Wallitt – You are joking right? So if you’re a doctor then you can become skilled in any other field in very little time eh? Why not skip this coding stuff and jump right to stock trading or race car driver? Jeeezzzzzz…

    • Ed Wallitt March 22, 2012 at 12:10 pm #

      @Frank T – no need to be rude.

      If you must know I am a fully qualified doctor/MD AND have personally developed (including writing all the code) 5 highly successful and fully commercialised web apps currently in use within the NHS in UK, as well as a number of iPhone apps.

      I am not saying it way easy, but not impossible like some are making out.

      I also like to dabble in stock trading…

  15. Carter March 24, 2012 at 6:13 pm #

    Thanks to everyone who has contributed to this discussion… It seems even more valuable to me than the original article (which was also very helpful). I’m in the “I have an idea but no experience” phase and hadn’t even thought of half of what has been brought up here!

    I think the two biggest lessons I have learned are (1) that it is important for each of us to recognize our strengths/weaknesses and limits (ie some people have what it takes to learn to code while others do better to collaborate with a pro coder) and (2) getting feedback from others is invaluable regardless of where we are on the road to completion.

    Wishing all of you success in your ventures!

  16. Lisa LoCascio April 11, 2012 at 1:31 pm #

    I’m an RN who has worked in clinical, health insurance, corporate management and now employ 26 people as a small business entrepreneur with $ 1 mil in revenues per year. I completely agree with the concept Craig advocates. I took a course at a local college “Managerial Accounting for non-accountants”, I had to learn the cursory basics of accounting and finance to run my business. That enables me to intelligently discuss money concerns and financial strategy with the experts I’ve hired. I have no desire to ever be a CPA. Now I’m moving into developing a website & app to expand the business.

    My dilemma is this… what is out there that specifically teaches us what we need to know HIGH LEVEL about coding, website & app development without having to learn coding through trial and error?

    I have no desire to actually code, but I do want to be able to intelligently (and realistically)
    take my ideas / vision and work with coding experts to design business requirements.

    Can anyone on this discussions share resources on this?

  17. Markk ibrahim July 30, 2012 at 1:38 pm #

    Hi, got to say. To develop my app cost my three extra days of work using and external programmer. I am sure it would have took my a lot more than 3 days to learn how to code. I understand as med students budgets are super tight but to neglect this fact seems like you didn’t consider the majority of your readers who are probably not students.

    • Craig July 30, 2012 at 3:45 pm #

      Mark, thanks for sharing your experiences. I would love to hear more about alternative models to this process.

      The article was meant as a personal account of what worked for me, which I acknowledge is not right for everyone. There are a lot of positive externalities of learning even a little bit of programming which the comments have mostly addressed. I hoped to expose what the low-hanging fruit of coding is in that particular section. (Hint: Definitely not iOS development as it seems like Apple has purposefully obfuscated the documentation and development process. I hope that changes.)

Leave a Reply