Today marks a major personal milestone as an app maker, crossing the one million download mark in a much shorter time than anticipated. It has been a surreal, challenging, yet rewarding journey fraught with obstacles and opportunities along the way. In the following paragraphs I’ll be sharing what I found to be some of the most valuable lessons and resources for those who plan to venture down the ever-evolving path of indie app development.

A Milli’ As you can see in this graph, It took a bit of fumbling around to figure out how to get more people downloading, but now the graph is trending on “Fleek.”

First, some back-story.

Feel free to skip to the bulleted section below if you wish to pass on appetizers and go straight for the main course.

My name is Tavershima Shande, more on what my first name means later, but I’ve been going by Tav since the first kid who tripped over my name, and abbreviated it, in the second grade. I liked the nickname, it stuck. I’m not big on labels so when people ask me what I do, I usually say drug dealer jokingly and then wait to see how long it takes for them to ask, “Really?!” The truth is, I do many things. I’m not a drug dealer. For the past twelve years I’ve been working as an artist in the video game industry. I’ve worked at EA, Crytek, Activision, and even for the Department of Defense on titles such as America’s Army, DeadSpace 1, Crysis 2, Call of Duty: MW3 and Call of Duty: Advanced Warfare.

In my spare time, my creative efforts have been mainly aimed towards making short films, music, new hardware, and creating apps. Living in the Bay Area has also sparked the entrepreneur within me to co-found a mobile commerce startup, ZUPA! , and begin building a hardware company. So, in short, I make things. I grew up making things and I am consumed by the desire to always be learning and creating.

I can’t code, can I make apps?

This is one of the questions I hear the most from people who want to start making apps but don’t know where to begin due to their limited knowledge of programming languages. The answer is yes, You certainly can make apps, even if you have never coded anything in your life. I am not a coder. I graduated from art school (SCAD) with a computer art degree. My coding skills mostly consist reading Stack overflow and Quora while using the keys Ctrl+C and Ctrl+V. The trick is to outsource all the things you can’t or don’t want to spend time doing in order to free up more time for you to do what you love doing. In my case, I act as the software architect, designer, create all the art assets, wireframes and flow, the UX, and end up with a design document that is so thorough a five year old could follow along. I then pass all that to the engineer and supervise, mainly via email, as the app comes to life. In the end the final deliverable is an Xcode project file. That’s where I perform any final tweaks then compile the build to submit to Apple. Thanks to Tim Ferris for writing The 4-Hour Work Week, a highly recommended read that helped me solve the challenge of creating an app without having to learn to code it all myself.

You must be a speed reader! You’re almost through the appetizers and on to the main course. Don’t forget to save room for dessert.

The World’s first Face Rating App, Vanity.

App Zero, where it all started for me. The first app I ever made was Vanity. It measures how closely facial features fit into the golden ratio and returns an “attractiveness” score based on a scale from 1–10. It cost me ~$2,800 to make. It took 3 weeks to code. I outsourced the coding tasks to a guy I found on Elance from Pakistan who in turn outsourced it to an engineer in Vietnam. It was priced $2.99 and only got 8 downloads at launch on July 11th, 2009, until UrbanDaddy wrote about it a month later in August. Soon after, Cosmopolitan included Vanity in their print magazine, then The New York Times, Then Huffington post, and many more media outlets followed. It also became huge international success in China, France, and Brazil after localization. At its peak, Vanity was being downloaded north of 20,000 times a day. That was over 5 years ago, since then I have launched 16 iOS apps and one Android app, in the process I have celebrated some wins and learned from some mistakes. Here’s some of what I learned during those 1 million downloads followed by links to valuable resources that I’ve used to create my iOS apps.

Free Press coverage.

Congrats! You’ve made it to the main course.

Lessons learned:

Time is Power. Be Persistent and Persevere — Simply, never give up. There will be many times when it seems as if nothing is working, everything is too broken to be fixed, or things are too difficult. Don’t stop trying, in time you’ll make it to the finish line. (In the Tiv language, Tavershima means “Never give up, keep on trying.”)

— Simply, never give up. There will be many times when it seems as if nothing is working, everything is too broken to be fixed, or things are too difficult. Don’t stop trying, in time you’ll make it to the finish line. (In the Tiv language, Tavershima means “Never give up, keep on trying.”) Make something remarkable— Make something that users will be forced to tell other users about. If you saw a purple cow you would tell your friends about it right?

Make something that users will be forced to tell other users about. If you saw a purple cow you would tell your friends about it right? Progress is better than perfection — Identify what you need and the development costs necessary to launch your app as an M.V.P. (minimum viable product) It doesn’t matter how pixel perfect your icons are if no one will ever see them. Check out Simon Sinek’s talks for more inspiration.

— Identify what you need and the development costs necessary to launch your app as an M.V.P. (minimum viable product) It doesn’t matter how pixel perfect your icons are if no one will ever see them. Check out Simon Sinek’s talks for more inspiration. It will cost time and money— In many cases, it will cost twice as much and three times as long as estimated. Outsource the work you can’t or don’t want to do. Make sure you have a budget laid out even before you start development, know how much you’re willing to spend. Keep an eye on your schedule, avoid long drawn out stretches where no progress is being made.

In many cases, it will cost twice as much and three times as long as estimated. Outsource the work you can’t or don’t want to do. Make sure you have a budget laid out even before you start development, know how much you’re willing to spend. Keep an eye on your schedule, avoid long drawn out stretches where no progress is being made. Pay in Thirds — Like a well composed image, your payment structure should respect the golden ratio & the rule of thirds. Never pay fully upfront for work you haven’t received. When possible, I agree on a total fee, then split payments into three payments: 1) 10% for the initial payment 2) 20% for the functional beta 3) 70% after Apple has accepted the app onto the AppStore.

— Like a well composed image, your payment structure should respect the golden ratio & the rule of thirds. Never pay fully upfront for work you haven’t received. When possible, I agree on a total fee, then split payments into three payments: 1) 10% for the initial payment 2) 20% for the functional beta 3) 70% after Apple has accepted the app onto the AppStore. Experiment and iterate fast— This is the advantage you have over larger corporations who are in love with what worked in the past. Don’t be afraid to try out new ideas and fail fast till you learn what works. I had a few crazy app exercises that had stellar results: What’s the shortest amount of time you can make an app in? Can you make 50 compelling apps in 50 days? I already had made an app called Cryface which was covered by Mashable, so I decided to use that app’s face detection engine to see what else I could create without hiring an engineer. I spent three days changing only art assets and created a makeup app that has over 425,000 downloads in less than a year.

This is the advantage you have over larger corporations who are in love with what worked in the past. Don’t be afraid to try out new ideas and fail fast till you learn what works. I had a few crazy app exercises that had stellar results: What’s the shortest amount of time you can make an app in? Can you make 50 compelling apps in 50 days? I already had made an app called Cryface which was covered by Mashable, so I decided to use that app’s face detection engine to see what else I could create without hiring an engineer. I spent three days changing only art assets and created a makeup app that has over 425,000 downloads in less than a year. If you’re reading this it’s not too late— Everything you need is out there, you just need to find out where to look. The web is a vast ocean of knowledge and bountiful resources. Chances are if you have an issue, someone else has had it too and has solved it.

Everything you need is out there, you just need to find out where to look. The web is a vast ocean of knowledge and bountiful resources. Chances are if you have an issue, someone else has had it too and has solved it. Collect, analyze, and act on data— Men lie, women lie, numbers (and according to Shakira, her hips) Don’t lie. Study how pricing changes and other events effect your apps downloads. There are some really sophisticated tools out there to study user acquisition and retention along with some simple free apps that track downloads, returns, and updates. I use Appfigures and check it religiously.

Men lie, women lie, numbers (and according to Shakira, her hips) Don’t lie. Study how pricing changes and other events effect your apps downloads. There are some really sophisticated tools out there to study user acquisition and retention along with some simple free apps that track downloads, returns, and updates. I use Appfigures and check it religiously. Something other than the money must drive you— If you’re in it solely for the money, you won’t last long. It can take years to be an overnight success.

If you’re in it solely for the money, you won’t last long. It can take years to be an overnight success. Don’t quit your day job— …if you don’t have to. This can be tricky, but if you love your day job, keep it. There are some companies that see major benefits in promoting employee’s side projects. There are also some companies that oddly believe if you are working on anything outside work, even in your free time, then there’s the perception that you aren’t putting in enough effort at work and you have too much free time. Make sure you check how your company handles side projects legally and comply with their rules. Working on side projects while employed helps minimize risk and allows you to experiment more, but you may have also signed a non-compete clause in your contract that prevents you from making anything their legal team deems, “competitive.” The question you have to ask yourself is how long do you want to spend making someone else's dreams come true while putting yours to the side?

…if you don’t have to. This can be tricky, but if you love your day job, keep it. There are some companies that see major benefits in promoting employee’s side projects. There are also some companies that oddly believe if you are working on anything outside work, even in your free time, then there’s the perception that you aren’t putting in enough effort at work and you have too much free time. Make sure you check how your company handles side projects legally and comply with their rules. Working on side projects while employed helps minimize risk and allows you to experiment more, but you may have also signed a non-compete clause in your contract that prevents you from making anything their legal team deems, “competitive.” The question you have to ask yourself is how long do you want to spend making someone else's dreams come true while putting yours to the side? Have fun— If app development ever truly stops being something you enjoy doing, it might be time to give it a break.

If app development ever truly stops being something you enjoy doing, it might be time to give it a break. Take a break, go outside— Inspiration comes in waves. When you’re feeling creatively tapped out, take a break, go do something else that’s fun while your creativity meter recharges.

Inspiration comes in waves. When you’re feeling creatively tapped out, take a break, go do something else that’s fun while your creativity meter recharges. Find a superstar Engineer— Find many if you can. Having a Super talented engineer that is really invested in your project will make your life a lot easier. It will help if they have made a similar app before. The process will go a lot smoother if your engineer is excited about and fully understands your idea. The project will be a collaborative effort, a superstar engineer should work with you, not for you.

Find many if you can. Having a Super talented engineer that is really invested in your project will make your life a lot easier. It will help if they have made a similar app before. The process will go a lot smoother if your engineer is excited about and fully understands your idea. The project will be a collaborative effort, a superstar engineer should work with you, not for you. Communicate your vision fully— Make sure your engineer completely understands what the final app will be, who will be using it, and all the different ways it can be used.

Make sure your engineer completely understands what the final app will be, who will be using it, and all the different ways it can be used. Keep a small team —For all my past projects the team has just consisted of 1 developer. The exception is the app, Zupa! The team size is two with 1 amazing freelance engineer. Expenses can add up and with a large team your budget could deeply dig into profits which would prevent you from keeping the project going. Also, the more people working on a project equals more potential points of failure and the inability to be nimble.

—For all my past projects the team has just consisted of 1 developer. The exception is the app, Zupa! The team size is two with 1 amazing freelance engineer. Expenses can add up and with a large team your budget could deeply dig into profits which would prevent you from keeping the project going. Also, the more people working on a project equals more potential points of failure and the inability to be nimble. Invest in yourself— Not just with money. Eat better, get sleep, Go to the doctor, invest in your health.

Not just with money. Eat better, get sleep, Go to the doctor, invest in your health. Your idea will be copied— If an idea is good it will be copied, there’s no avoiding it, don’t take it personal, just plan for that.

If an idea is good it will be copied, there’s no avoiding it, don’t take it personal, just plan for that. Make apps that help people or make the world a better place— These are the apps with the most potential, also, helping others can be the best way to feel fulfilled and make a difference in many peoples lives.

These are the apps with the most potential, also, helping others can be the best way to feel fulfilled and make a difference in many peoples lives. Test your apps for bugs before launch— Test on real hardware, on all devices, not just the Xcode simulator. Test your app at slower internet speeds. Bugs contribute to many of the lower star reviews on the Appstore so make sure your app is golden and ready for its closeup.

Test on real hardware, on all devices, not just the Xcode simulator. Test your app at slower internet speeds. Bugs contribute to many of the lower star reviews on the Appstore so make sure your app is golden and ready for its closeup. Localize your apps —This was really helpful for making Vanity go viral in China and France.

—This was really helpful for making Vanity go viral in China and France. Build a website/splash page — A lot of people still use Google, make sure your website shows up at the top of the search results.

— A lot of people still use Google, make sure your website shows up at the top of the search results. Some users always think 99 cents is expensive for an app —Decide on a price point and stick with it. If you want to experiment with prices, change them and let them sit for at least a month to compare how pricing influences your app sales.

—Decide on a price point and stick with it. If you want to experiment with prices, change them and let them sit for at least a month to compare how pricing influences your app sales. Yes, you have the time —”I want to get into app development but don’t have time,” is an excuse I hear a lot, followed by .” OMG, I just spent the whole weekend binge watching House of Cards, Game of Thrones, and Breaking bad.” If you don’t make time for something, that usually means it’s low on your priority list and you don’t really want to do it.

—”I want to get into app development but don’t have time,” is an excuse I hear a lot, followed by .” OMG, I just spent the whole weekend binge watching House of Cards, Game of Thrones, and Breaking bad.” If you don’t make time for something, that usually means it’s low on your priority list and you don’t really want to do it. Inspiration comes from everywhere —Travel to Paris, make some music, bake a cake, do other things you enjoy to make yourself receptive to cool new ideas.

—Travel to Paris, make some music, bake a cake, do other things you enjoy to make yourself receptive to cool new ideas. Delight your users wherever and whenever possible —Don’t underestimate peoples desire to explore and discover, add neat little unexpected touches into your app that will make users smile and appreciate the effort.

—Don’t underestimate peoples desire to explore and discover, add neat little unexpected touches into your app that will make users smile and appreciate the effort. Study human behavior —You’re designing software for people so it makes sense to learn about what makes us tick.

—You’re designing software for people so it makes sense to learn about what makes us tick. Haters gonna hate, lovers gonna love —People will love you and people will hate you, be prepared. Make something you’re proud of or make something that makes so much money you don’t care.

—People will love you and people will hate you, be prepared. Make something you’re proud of or make something that makes so much money you don’t care. Learn how to manage your fear —Expect the worst and hope for the best. There will come a time before you launch when you will question everything you have just done and wonder if anyone will even download your app. You will think about abandoning everything. Don’t. That’s just fear of failure playing games with your mind.

—Expect the worst and hope for the best. There will come a time before you launch when you will question everything you have just done and wonder if anyone will even download your app. You will think about abandoning everything. Don’t. That’s just fear of failure playing games with your mind. Make brainstorming sessions a habit— Keep an idea book and have reoccurring sessions where you brainstorm on future ideas. Train your brain to think big and make associations you wouldn’t normally make.

Keep an idea book and have reoccurring sessions where you brainstorm on future ideas. Train your brain to think big and make associations you wouldn’t normally make. Press releases can be a scam— Beware, some agencies will want to charge you insane fees to take a press release you typed up and email it to a bunch of reporters who will most likely not read it because they receive hundreds of releases a day. Save your money here. Just draft your own press release and put it up on your website in the press section.

Beware, some agencies will want to charge you insane fees to take a press release you typed up and email it to a bunch of reporters who will most likely not read it because they receive hundreds of releases a day. Save your money here. Just draft your own press release and put it up on your website in the press section. Email the media and forge strong relationships with interested reporters —Some reporters may write you to tell you they want permission to put your app on TV or use it in a story , make sure you follow the appropriate email etiquette and keep them in the loop when possible. Offer them the scoop on your latest and greatest app.

—Some reporters may write you to tell you they want permission to put your app on TV or use it in a story , make sure you follow the appropriate email etiquette and keep them in the loop when possible. Offer them the scoop on your latest and greatest app. Everyone seems to be selling something— Your inbox will receive a large influx of emails that read something like the following: “ Hi developer we love your app it’s so amazing, for only $2000 dollars we can review it for you and put it on our front page. We get x number of millions of page views a second, please let us know if you want to take advantage of this once in a life time opportunity.” Don’t fall for it.

Your inbox will receive a large influx of emails that read something like the following: “ Hi developer we love your app it’s so amazing, for only $2000 dollars we can review it for you and put it on our front page. We get x number of millions of page views a second, please let us know if you want to take advantage of this once in a life time opportunity.” Don’t fall for it. Beware of yes-men/women —Make sure you have a decent grasp on what it’s going to take to develop your app. Have as much as you can planned out before talking to others about development. Research what SDK’s can be used or open source code can be implemented to avoid re-inventing the wheel. There are a lot of companies and freelancers that will say they can make anything you want but when it comes down to development, they get stuck learning on the job that is too complex for them to handle instead of executing on your design. This can turn a project into a disaster and ultimately burn through all your cash.

—Make sure you have a decent grasp on what it’s going to take to develop your app. Have as much as you can planned out before talking to others about development. Research what SDK’s can be used or open source code can be implemented to avoid re-inventing the wheel. There are a lot of companies and freelancers that will say they can make anything you want but when it comes down to development, they get stuck learning on the job that is too complex for them to handle instead of executing on your design. This can turn a project into a disaster and ultimately burn through all your cash. Developing and launching an app is only the beginning— After launch you will have bugs to be fixed and new features to improve your app if you want it to stand the test of time. Technology changes fast, be ready to adapt.

After launch you will have bugs to be fixed and new features to improve your app if you want it to stand the test of time. Technology changes fast, be ready to adapt. Domain names and social media— Don’t forget to check out what domain names are already taken or if any other products have a similar name that could confuse the customer. I have witnessed a startup finish a product, using the .io domain extension then start to promote it only to find out later that the .com and .me versions of the domains were pornographic sites. Yikes! They are now changing their name.

Don’t forget to check out what domain names are already taken or if any other products have a similar name that could confuse the customer. I have witnessed a startup finish a product, using the .io domain extension then start to promote it only to find out later that the .com and .me versions of the domains were pornographic sites. Yikes! They are now changing their name. App store optimization — make sure you know how to get the most out of your keywords and app title. This will make your app stand out in the Appstore search results. This can make the different between 20 downloads a day and 2000.

— make sure you know how to get the most out of your keywords and app title. This will make your app stand out in the Appstore search results. This can make the different between 20 downloads a day and 2000. Spend time thinking up a good name— Thinking up a good name is an important and fun part of the process. I bet you can’t say Zupa! just once, Zupa! see?

Thinking up a good name is an important and fun part of the process. I bet you can’t say Zupa! just once, Zupa! see? Get in the habit of responding to important emails immediately — If someone is depending on a response from you to continue working on the app, or asks an important question, respond ASAP. They will love you for that. On the other hand, you don't need to respond as quickly to emails that don’t include questions. This will save you time.

— If someone is depending on a response from you to continue working on the app, or asks an important question, respond ASAP. They will love you for that. On the other hand, you don't need to respond as quickly to emails that don’t include questions. This will save you time. Your app will break —Don’t panic, just be prepared to fix it fast before you get a bunch of bad reviews. Just remember, about 90% of the time It takes 7–10 days for Apple to review your app for an update.

—Don’t panic, just be prepared to fix it fast before you get a bunch of bad reviews. Just remember, about 90% of the time It takes 7–10 days for Apple to review your app for an update. Choose the right Team —If you’re going to work with other people make sure everyone is on the same page when it comes to what is expected of them and how much dedication will be required. Many people are excited initially about making an app to get rich quick, but when they see how much blood, sweat, tears, time, and money it takes, they back out, give up, and are mysteriously too busy.

—If you’re going to work with other people make sure everyone is on the same page when it comes to what is expected of them and how much dedication will be required. Many people are excited initially about making an app to get rich quick, but when they see how much blood, sweat, tears, time, and money it takes, they back out, give up, and are mysteriously too busy. You will have to wear many hats —From marketing , to art director, to engineer, to tester, you will need to do all these things at one point or another on a small team. You’ll learn a lot.

—From marketing , to art director, to engineer, to tester, you will need to do all these things at one point or another on a small team. You’ll learn a lot. Communication is key— When working with other people, it’s paramount that everyone is on the same page and questions don’t go unanswered for very long. You will need to communicate your designs to others meticulously and with clarity. Put everything in writing so it’s easy to access at any time.

When working with other people, it’s paramount that everyone is on the same page and questions don’t go unanswered for very long. You will need to communicate your designs to others meticulously and with clarity. Put everything in writing so it’s easy to access at any time. Just Do it!— What are you waiting for? Go make the next great app!

What’s Next ?

You know what’s cool? A Billion Downloads!

Building/Refining my latest app Zupa! (Think Instagram meets eBay)

Work on building a Hardware device that will help people.

Finish my short film, “Infinitus.”

Work on a new environment art 3d interactive piece.

Continue to support and bring improvements to my current apps.

Start on an unannounced new app.

Zupa! My most recent app. (Not included in total download numbers)

Wow, you made it to the end. Thanks for reading! I hope you find this article useful and I wish you all the best in your future app development endeavors.

Feel free to follow me on Instagram , shoot me an email , or hangout on my website if you’d like.

Resources for app development.

Aka “The Dessert.”

Enjoy.