I'm not a programmer, so I have very little idea of how much it costs to, for example, write the code for a website or app. Suppose I wanted to hire someone to design a very simple, secure, and easy to use app - how much should I expect to pay in terms of time and money? To work with a concrete and timely example, suppose I wanted an app that would do the following:

  • Let people enter the minimal amount of information (or use a series of questions) to help them figure out which phase of Covid vaccination they qualify for in their region (e.g. age, occupation, pre-existing conditions, etc.)
  • Connect them to the correct website(s) for them to schedule an appointment if they are qualified, or give an estimated timeframe for when people in their phase might be able to get vaccinated.
  • Allow for notifications, appointment reminders, updates if the rules in their region have been changed and what they need to do instead, etc.

Note that I'm not suggesting that such an app would make much of a dent in the logistical nightmare that is our healthcare and political systems. I'm using it as a hopefully easy to understand example of the level of complexity I'm thinking about.

As a follow up, how much additional cost would be needed to process payments through an app? (Again, not thinking of this in terms of the vaccine example app, but asking about apps in general).

And finally, if I did want to eventually hire someone to write an app, what would be the best way to go about it? Would people in this community be willing to help?

New Answer
New Comment

1 Answers sorted by

lincolnquirk

200

This is a hard question and software people will typically not want to be pinned-down on specifics without consulting with you extensively, because the depth of requirements for software projects vary dramatically. You're asking for very little functionality (which is great!) but the bulk of costs of software construction are not in the core functionality, they are in polish, bug-fixing and edge-case handling, which you included in your requirements ("simple, secure, and easy to use") but would need to be a lot more specific about, in order to get a result you'd be happy with. It's really hard to give these kinds of estimates without those conversations.

  1. To just satisfy the requirements, I could imagine doing the non-payment-processing version very cheaply using Typeform or another "survey builder" for the UI, and a simple backend that just pulls the results out of Typeform and sends notifications. I could imagine throwing a prototype for this together in a few days of time for someone like me (so less than a few thousand $) but it would probably not work well, be reliable, etc. at that level of polish. Also, few freelance developers of quality will take on a project like this at that price point, because they have "seen it all before" and know that the edge cases and polish are likely going to result in a 10x cost inflation at a minimum.

  2. Payment processing increases the cost a bunch because it adds new requirements for security, ease of understanding & debuggability, etc. You can often outsource the actual UI for it to e.g. Stripe Checkout though so it may not make a huge impact.

  3. I don't think you've given enough information to answer "what would be the best way to go about it?" For example it sounds like you need software help, but you might also need graphic design help, product design/UX help, etc. For software help I know that freelance developers will bid on your projects on various sites (I'm not familiar with which sites are currently considered reputable and I haven't done this myself so I don't know how hard it is to figure out which bidders are any good). But it's unlikely you'll produce a "simple, secure and easy to use" product without getting help in other domains as well. It is sometimes possible to convince people to work with you for free if they like your idea (and you).

[-]kjz10

Thanks so much for the quick and detailed reply! I agree I haven't provided enough info yet to let you (or anyone) answer the question well. This is mostly because I came up with my real idea very recently, and I'm a total rookie in this field so almost everything is an "unknown unknown" to me at this point. Also, for now I want to avoid giving too many details, until I've worked out the idea more fully.

But to address some of your points and provide some additional info that may be helpful:

  • It's great to know that edge cases and polish result in a substanti
... (read more)
2Ericf
"And make payments" implies network effects, which has a chicken+egg problem of needing both payees and payers in sufficient quantity to warrant signing up (or N times more work to interface with N different payees existing payment front ends without their help) Not recommend for a "first good idea" Also, too, your kernel of an idea isn't that special. Probably half the people on LessWrong could have thought of it, if they gave 5 minutes of thought to whatever domain its in. All the value is in coordinating the execution, not in coming up with "hey, what if you could pay some rando who was already going downtown to drive you downtown, instead of (trying to) hire a cab?"
1kjz
Totally agree. But remember - the vaccine app isn't my real idea. It's the idea I came up with to use as an example after 5 minutes of thought :) I really appreciate all your comments and taking the time to engage with this. They're helping me think about the actual idea I have in mind much more clearly and in more detail. Thank you!

What they said. Also, for the specific example given, consider:

  1. In the time it takes to code & deploy, how much will the rules change? How long will it take to find 50+ different sources of data, make them conform to a single format, and make them available, and will the data from the 3rd source change while you're finding the 50th? (Hint: the answer is yes)
  2. Who is the customer for your app, how many of them are there, and would they be likely to have already used Google and/or Excel to solve the problem?
1kjz
Thanks for the very useful feedback. To answer your questions: 1. For the vaccine example, I agree that would be a huge problem and probably make it totally unworkable. Your hint is right on. For my real example, the "rules" wouldn't change much at all, or only very slowly (on the timescale of months or more likely years). 2. The customer is any individual with disposable income. There is not a way to use Google or Excel to solve this problem. As for how many there are, it's either something that would never take off and fizzle out and die, or it could become a service that millions of people find invaluable. Hard to predict in more detail than that.
2Ericf
Nobody spends income just to spend it, they only do it for some combination of: 1. To get something they need to stay alive 2. To save time and/or energy on a task they do often 3. To get something that makes them happy (eg entertainment, nicer versions of things from category 1, etc.) Hint: apps are never #1, so are you saving people time on something they are already doing, or are you giving them something new that makes them happy? In either case, you need to decide what kind of person would be interested (eg people who care about getting vaccinated as soon as possible), and where they fall on the https://www.nngroup.com/articles/computer-skill-levels/ ranking. That will inform the level of polish your app would need. And if there are enough people who would want it.
1kjz
All great points. I've read the article you mentioned, and it will be a crucial guiding principle in how I would want to design this - maybe the most crucial.
2 comments, sorted by Click to highlight new comments since:

You may want to read the tweets by Patrick McKenzie about his call for something similar and how it worked out: VaccinateCA.

[-]kjz30

Thanks for the recommendation - very glad he is doing this. My favorite part was this paraphrased dialog with a pharmacy:

Us: How would someone make an appointment with you? 

Pharmacy: Go to the county website at... 

Us: You know you're not on that, right? 

Pharmacy: WHAT.

Inadequate equilibria at their finest. I wish him all the best in his efforts to make them more adequate.