So you’ve got a glorious vision for the next market-disrupting app and want to hire a freelance developer to turn your dreams into a reality. Unfortunately, going from idea to product is not as simple as throwing some cash at a developer and saying, “Great! See you in a few months when it’s done!”
Your idea needs to be fleshed out into enough detail that a freelancer can actually translate it into code. If you already have a refined list of product requirements, user stories, features, and detailed design documents, then you’re off to a good start (and can probably read this instead). If not, then here are decisions you must make about your product before hiring a freelance developer.
Just need the checklist? Get it here.
How does one go from idea to product? What do you need to prepare before you're truly ready to hire a developer and turn your idea into a reality?
Some entrepreneurs may have a vision, an idea of high-level deliverables, but aren't sure what are the next steps. If you are planning to hire a developer, there are three main things you need to prepare for your project: budget, scope, and design.
Scope is a list of the main deliverables, functions, and features your product will have. “Design” can just be a rudimentary idea of how your app will look, feel, and flow. Your budget is a result of scope and design, your design is informed by features defined in the scope, and so on. All three of these intertwine and overlap.
For a bird’s eye view of the app development process, check out How to Make and App: From Vision to Product, and also our Ultimate Guide for Hiring Freelance Developers for everything you need to know and more about the hiring process.
The rest of this post will focus on the decisions you must make about your product before a developer can translate your idea into code.
This is the most important component of the three, but it can be difficult to determine. When you hire a professional, you should have a time and cost estimate, otherwise it’ll be difficult to move forward. At an established company, maybe you were given a budget to create an app. For entrepreneurs, sometimes it is not so simple.
How much is reasonable to spend on making an app?
There are many things that go into the high price tag for an app. In fact, we wrote a whole blog post on How much does it cost to make an app in 2017. To put it simply, you just calculate the hours it will take to build out all the features, and then multiply that by the hourly rate your developer charges.
There are a few alternatives to hiring a freelance developer. A great option is to hire a full-time developer or CTO, pay an app development agency, or build it yourself. They will be more invested in your product, and can provide some continuity during the product’s life. However, finding a quality full-time developer or CTO as an entrepreneur can be fairly difficult or nearly impossible if you're just starting out.
A third-party app development agency may have the most resources, able to help with you with everything from design to development, but you may need a significantly higher budget for development agency option.
Read this post for more on the differences between software production with freelancers vs. web development companies.
And of course, you could always build it yourself. This is certainly the cheapest option, and not unheard of — take Polymail’s founder, for example. Neither he nor his two co-founders had a computer science degree, but they built Polymail themselves, and he suggests that you should build it yourself, too.
Let’s assume you want to hire a freelance developer. This may be a more realistic option for entrepreneurs who are trying to squeeze every ounce of runway out of their limited budget. According to our study of freelance rates, the rate varies widely by region. Consider the tradeoffs to hiring a cheaper developer.
How does CodementorX compare to other platforms? Here's a comparison.
The next step is to calculate the total number of hours it would take to complete the product. It is essentially determined by the number of features your app has, the complexity of the app, and its development environment, which we discussed extensively in How much does it cost to make an app in 2017?
A common mistake here is to say “Okay, I want something exactly like Uber, but for X” or “I want Facebook for Y.” While these provide the direction you want to head and can help you figure out exactly what you like about those apps and which features you would like to adapt, they set your expectations too high. Unless you have $500,000 to spend, then don’t expect a Facebook clone.
Most of your budget is determined by the functionality you want to include. Some entrepreneurs are hesitant to reveal their budget, in fear that the developer will simply charge them the maximum amount. In reality, it gives them an idea of how much functionality is realistic within your budget. Many times they will provide an estimate for:
As an entrepreneur, your goal should be to get your product to market as soon as possible with the least amount of money. Essentially, you should only implement an MVP and nothing more, and we will discuss more about “Scope” in the next section.
Besides setting your product’s features, you need to consider the complexity of your app. Anything that integrates with a server (backend), such as for saving user information, will be more complex and thus more expensive. Also, consider the implications of choosing certain development languages; for example, it may be easier to find good developers in more popular languages and frameworks.
As an early-stage entrepreneur, you may not have enough money to build a full product. Even if you do, now may not be the time. It is usually best to ship your product ASAP, and to do so, you have to narrow down the features only to the ones that are absolutely critical. Since, this is your MVP, it will allow you to truly test product-market fit and iterate from there.
That being said, it’s possible that the MVP you come up with may be impractical to implement. Without domain knowledge, it is difficult to assess which tasks are easily programmed, which are more difficult, and which are nearly impossible. If you can, consult a friend with software expertise about the features in your MVP. Otherwise, just try to rank your product features in order of importance, from must-haves to nice-to-haves, and expect that your MVP may change after consulting your developer.
Arriving at an MVP is easier said than done, and many posts could be written about just this topic. Read a few articles about creating a “Product Requirements Document” (PRD), which is used in product management, but relevant to you in this case. You don’t need to create a full-fledged PRD, but reading examples will give you a sense of how a product manager turns a product vision or pain-point into implementable steps.
First, consider your objective:
Begin with the main user stories and user flows directly related to your product’s main objective. Consider the who, how, and why. For example, “Laura is a young professional who wants to search for a nearby restaurant to find a place for lunch.” Answer these questions:
Think about the main value proposition that makes your app unique.
Next, you need to determine what platform and technologies you will use to create the product, and which specific tech stacks to use on both your product’s front and back end. This will help narrow your search for finding a freelance developer.
Silicon Valley Software Group (SVSG) has a great post on this topic: How to Choose Your Tech Stack. We will discuss a couple of their key points here. Keep in mind that each developer will probably be biased towards whatever technologies they’re used to working with. Instead, ask yourself these questions:
We built a standalone website to help you decide which language is best for your product here. It is directed towards programmers, but you can use it too!
Consider the ecosystems around each technology. Are there people available to hire for these languages? Is there a vibrant developer community? While tech stacks aren’t paramount — numerous tech stacks could work equally well for implementing a certain solution — keep in mind that they may influence your company culture, ability to hire, and ability to scale in the future.
Remember: complexity = $$$. Ask yourself the following questions about common features that increase the complexity, and thus, cost, of the app.
Here's a checklist of the above to help you keep track.
Having detailed design documents is typically less important than a defined budget and scope. If you already know your product’s objective and value proposition, user base, main features in the MVP, platform, and possible programming languages, then you are well on your way. Now it is time to figure out how a user flows through and interacts with your app, and how it looks and feels.
The biggest thing to keep in mind at this stage is that your developer is not a designer. You could consider hiring a designer, but it may be too expensive at this point. Your developer can make design suggestions and come up with something that will work, but don’t expect effortless user experiences or sleek user interfaces.
One compromise is to hire a developer to create a logo, icon, or other parts essential for branding, without designing the full interface. This means it’s mostly up to you and your developer to come up with a design for your app.
The more design material you can provide, the better. This makes the developer’s job easier, and will also help you end up with a product that you actually want. Just like budget and scope, there are entire posts dedicated to this topic; after all, it is a huge profession in itself.
To get you started, we suggest that you consider: wireframing, user flow, and prototyping.
If nothing else, you should at least draw up a couple sketches of what you want your interface to look like. Check out wireframing tools like Balsamiq, where you can create low-fidelity sketches of the screens of an app or website. Here’s a post on What is Wireframing and How It Can Improve Communication with Freelance Developers to get you started.
If you want to hire a developer on CodementorX, for example, we ask that you provide some sketches and wireframes for your project after you have defined the budget and scope.
Everything at this stage should be informed by what you decided about your budget and scope. Try doing the absolute minimum to get your product to complete its task. Start to think how your user will flow through the application, and make some rough sketches that illustrate this idea. This is a good time to take a look at your favorite apps, and see how they handle user experiences.
If you have some design chops, try prototyping your product with a website like InVision (our team uses InVision!). You can create a clickable prototype to get an idea of how your app will look and feel. Get someone to test it out, and give their feedback. Watch them while they use it.
Prototyping is a wise step, because it can help you catch awkward user flows and interfaces early on, and even help you refine the scope of your MVP after seeing how real users interact with with your product. This can help save you money down the road, since it is much easier to make adjustments now before they are cemented in code.
Hope that wasn’t too overwhelming! You may have more questions now than when you started, but hopefully this can point you in the right direction. You don’t have to be an expert on any of these topics, but fleshing out the details of your product before you hire a developer will only help in the long run.