How to build an app in 30 days when you don’t know how to code
There is a misperception that you need to be a coding genius to launch a tech startup. Knowing how to code is an advantage, however, being an entrepreneur at heart and passionate about what you do are what will make your startup successful.
Some of the most well-known tech startup founders are not coders. Taking Evan from Pinterest for example, his major at university was History. He was not a tech guy, nor did he have a business background.
I hope you now have more confidence in building the next unicorn in your garage. I will share with you exactly step by step how I have built ReShare MVP (minimum viable product) in just 30 days. For context, ReShare is a new way for Australians to lend and borrow household goods or anything with people in your community.
What is an MVP?
A minimum viable product (MVP) is a concept from Lean Startup that stresses the impact of learning in new product development. Eric Ries defined an MVP as that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort. This validated learning comes in the form of whether your customers will purchase your product.
Why do we build an MVP?
A key premise behind the idea of MVP is that you produce an actual product (which may be no more than a landing page, or a service with an appearance of automation, but which is fully manual behind the scenes) that you can offer to customers and observe their actual behaviour with the product or service. Seeing what people do with respect to a product is much more reliable than asking people what they would do.
How to build an app - Step by step
1. List out the most important features of the app
I assume at this point you know what your business concept is. You might have some sketches of how the app looks like. A lot of people make mistakes here when they are trying to build a perfect app with lots of features and functionality. Remember, we just need a working app that has all the main features so you can test your idea and get feedback from users. Start listing down all the features you want in the app. This is important, you have to rank those features and decide which is the single most important feature that your customers can't live without.
For Reshare, we have 30+ different features that we want to build. Back then, I expected Reshare to have a frictionless booking system like Airbnb has, an amazing product listing page like Realestate.com.au app has and an intuitive and real-time map like Google has. I didn't take into consideration how big their team is and how many millions they have spent making those apps.
I narrowed it down to just the most important feature: a product listing page. Everything else I can do manually behind the scenes. With only this one feature the app still serves its main purpose - a place where people can easily see what is available for rent and their contact details.
2. Develop an app design
Before getting a UI/UX designer, I looked around for the cheapest way to get my first mockup done. I am not a graphic designer and I know a bit about Canva. I came across a tool called Figma while searching for some app design inspiration. I highly recommend you learn the basics on how to use Figma, it is an incredibly useful tool in the app development process, as easy as using Canva to mock up your Facebook post. Even better, you can find so many app design templates for free. I used one from here and customized it to my own app.
It took me 3 days to finish the first design of our app and this is how it used to look back then:
If you have the current design of the app, you will see we have come a long way since that first release.
3. Decide on a coding language
This part is important. If you don't know how to code, it's ok. However, you need to learn the basics of the technology you are dealing with. Google Flutter, React Native, Native iOS, and Android are just some of the software languages that you might want to learn more about.
It's a good idea to discuss this with your dev team and get their advice. If cost is your main concern which is often the case at this stage, go with a hybrid language like React Native for mobile as it's generally cheaper and faster to be developed. React JS is the equivalent for web. There is a lot of commonality between these two languages so starting with one of these (depending on whether you decide to start with mobile or web) will give you more flexibility resourcing your dev team in the future.
Once you decide which language to go with, it's time to start developing your first MVP.
4. Choose a development team
There are so many choices and freelancer platforms out there to get your app developed. I remember I was overwhelmed with the choices I had. Don't be afraid to ask a lot of questions.
These are some of the questions I used to screen developers:
- Ask to see their portfolios of work. Look for similar projects that they have done in the past.
- Which software languages do they specialize in.
- Discuss with them your product roadmap and hear their suggestions on how to grow the app after the MVP stage
- How often will you communicate with each other. How fast will they respond to your questions and concerns?
- Once the project finishes, how do they support with maintenance of the app (yes, the app needs regular updates, bug fixes and backup)
- How enthusiastic are they toward your project? I like to see if the people I am working with are as excited about what they are building as I am. If they are, you can expect a high quality of work and honest feedback.
It took me 1 week to find the right team and another week for them to start work developing the MVP.
5. Choose your tech co-founder
This is not necessary but it will help you to focus on the areas that you are good at. A tech co-founder will ensure that the development team is working toward the target with a high standard.
You might have asked where I can find a tech co-founder? Let's look at that in the next article.
Article written by Kelly Dang, founder of ReShare