Odds are, you’ve had an idea for app at some point or another. Nay, a brilliant idea that you know for a fact nobody else has thought of yet. Good for you! It’s also probably true you’ve shelved this idea because, well, making an app isn’t easy unless your a Mark Zuckerberg type who can write code in your sleep. Think about this, though: There are currently more than 1.5 million applications available to download right now, which means people must be doing something right, even if “Silicon Valley genius” isn’t on their resume. The real trick is learning how to get from point A—your idea—to point B, a functioning app that everyone wants to use.
To help you, we talked to real app founders who know exactly how to get your idea—the next Snapchat, obv—off the ground.
How to find a developer.
Use a local agency: Outsourcing to a local U.S. agency could cost anywhere from a few thousand dollars to millions, depending on what you ask for and how complicated the task is. After your app has been built, you’ll need someone to maintain the platform and keep it bug-free. Most agencies and developers will offer an ongoing monthly maintenance fee to do this that you should ask about when you first receive your quote.
Outsource internationally: Another option is to outsource your development work using a talent cloud like Yandiki, or a freelance website like Elance or Freelancer.com. Upwork is another budget option, or for more expensive but higher-quality freelancers try Gigster. Outsourcing internationally is usually much more affordable than engaging a local team (think: $2,000 rather than $10,000), however there are often language and timezone barriers, development takes longer, and the finished product likely won’t be as polished as that developed by a more expensive agency or freelancer in your city.
Hire someone in-house: Tommer Kahan, cofounder and chief product officer at wellness marketplace app Wellb agreed that in his experience, outsourcing can have its drawbacks, explaining: “Unless you have a full-time dedicated team, you’ll miss the personal touch and availability.” Instead, he suggests checking out sites like AngelList, FoundersNation, or even LinkedIn to find a technical lead to join your project on a salary.
Partner with a technical cofounder: You could bring on board a technical cofounder who believes in your idea and will handle the development work while you manage the business and marketing side of the concept. A site like FounderDating is a good way to connect with potential business partners, however technical cofounders are in high demand so be prepared to really sell your idea, and part with a large share of the business.
Combine agency and in-house developers: If your app is complicated, you might need a combination of in-house resources and an agency. “An agency that can help with design and development is a great way to accelerate your timeline and get started, but it’s not a substitute for building in-house expertise. Pairing an agency with in-house resources will allow you to iterate post launch and build your own competence,” explained Rent the Runway‘s SVP of product, Brooke Hartmann.
How to reduce your costs.
The entrepreneurs we spoke with reported costs of $10,000 to well over $500,000 needed to build their application, so you will need to find creative ways to reduce your startup cost.
Prioritize your needs: To keep costs and development time down at the beginning, on-demand fashion app Armarium made lists to prioritize the features they needed to launch. “We created a chart separating between, nice to haves, must-haves, and not-haves, to best understand the scope of what we wanted and how we were going to achieve our goals,” cofounder Trisha Gregory told us, adding: “Sometimes the most productive thing to do is brainstorm what you don’t want, in order to find out exactly what it is you’re looking for.”
Design a mockup and ask potential users for feedback: This method of building a minimum viable product (MVP) is popular among startups, and means you’ll be able to get feedback early on that you can integrate into your development. It’s also much cheaper to make changes at the design stage than the development stage: “Without [in-house developers], the cheapest option for developing an app is to design it in InVision (in mockup form) and show it to people for feedback,” said Asher Hunt, Overnight cofounder told us.
How to learn the language.
Instead of hiring developers, co-founders of delivery app Favor Ben Doherty and Zac Maurais simply taught themselves to code with a book. “Neither Zac or myself came from a computer science background,” Doherty told us. “In the summer of 2011 we bought a Coding for Dummies book and started learning. We couldn’t both read the thousand page book at the same time, so we cut the book into pieces using a bread knife and each read a section.”
Even if you do decide to go with hiring a team to work on your app, it’s important that you can speak the language to understand what you’re paying for, and what you’re asking for. Start listening to an entrepreneurship or tech podcast like Startup Grind and take a free course in the basics through Codeacademy.
How to get approved by iTunes.
Apple has clearly set-out guidelines explaining what you need to do (and what your app needs to offer) to be listed in the iTunes store. Follow them!
How to get your first users.
Bruce Jackson, chief technology officer at Myriad Group AG, a developer of apps like messaging service Versy, explained that getting downloads is a real challenge, even after you’re approved by iTunes or Google Play: “There is a regular publishing mechanism for both Google Play and iTunes, so getting into the app store is actually quite easy. Climbing the ranks is what’s difficult.”
Build something people want: Remember there are over a million apps available to download, so take on feedback from early users to create a product they love more than the rest. Weebly‘s director of mobile engineering, Ben Bloch, said his team put the app in the hands of people who could provide honest and insightful feedback early on: “With the Weebly app, we built several iterations of the beta, putting it through testing that helped us to build a quality product that validated our concept.” Take early users’ advice on board as you continue to develop–that way you’ll create something people actually want to download, and might even recommend to their friends.
Hold a launch event: On the other hand, you could try holding a launch event to generate a waitlist for the app and stir up some buzz, a tactic that worked for Armarium founder Trisha Gregory.
Ask everyone you know to download your app: Favor’s founders personally text 200 people about the app and asked for feedback. Don’t be afraid to things early on that don’t scale to get your first users and gain feedback early on.
Contact journalists: Handwritten card app Punkpost reached out to journalists for press coverage when they launched, and they say its this attention that helped them get their first users.
Plug yourself on social media: Stock trading app Robinhood gained their first users after getting noticed on Reddit. “A few hours [after setting the website live], we noticed a massive spike in traffic because someone discovered our website and shared it on Reddit. We rose to the top of Reddit’s personal finance thread and basically had to launch right then. It was a Saturday, which is not ideal for announcing something,” cofounder Vlad Tenev told us.
How to build a brand and a business too.
Assuming you want to monetize your app either through a freemium model (free download with in-app purchases), or a small fee payable when users download your app, or a different model entirely, you will need to set yourself up as a business. It might be worth getting a lawyer or accountant to take care of corporate registration and taxation, and if you’re planning on using a third party service for functionality, such as PayPal, contact them as soon as possible as this can take some time. Set up your Apple developer account and build your social media presence right at the beginning so it looks like you’re more established when you do eventually launch the app.