Often when someone asks me follow up questions about my bicycle app they ask how long it’s been around. It’s a difficult question to answer … because I count all +four years as learning through failure, and the app as it is today hasn’t really worked up until recently.
I realized that I’ve stepped on so many rakes plowing my way through building a bootstrapped startup that it may be worth sharing with those of you just starting out on your journey
I started because I read a lot and wanted to help change the trajectory of the world to a better future. I didn’t start from the perspective of a speculator, that is to say, to do something that would make me lots of money as a prime motivator. Only then I thought for about a year about how I was going to move the world in the direction that is needed and different ideas for how to get it there. I decided that I needed to focus on the mass adoption of bicycles as a mode of transit to solve most of the worlds problems. I realized that working with physical products or retail was too risky and slow for how little capital I had. I decided that short-term I had nothing to loose as I was already a Mobile App Designer, so learning how to build and ship an app would make me more valuable in my career. In essence I committed to a plan where I was not going to quit my job and in the worst case scenario fail upwards in my career!
The moment I decided to jump into the deep end of the pool was when I was on the fence about getting started and listened to an episode of “The Random Show” with Kevin Rose and Tim Ferriss At that time I was saving close to 100% of my Silicon Valley salary eating only work food and camping rent free in my friends gutted San Jose home in exchange for lending a helping hand. Kevin mentioned an average app runway being somewhere around 50K and I realized that that was totally doable without having to take out a loan or wait for years to save up 500K to start a physical business like a bike shop. I guess in hindsight the important information for you to know is that the basic expenses for building and maintaining a native app can be much steeper than the Random Show estimate :[
The initial service I built was a bicycle database, a kind of IMDB for bike specifications. I registered with the two main platforms run by Apple and Google:
I then went through a rigorous process of designing a brand and finding a name. I landed on “Sprocket” because it was a bicycle part, easy to spell, search, cute, and not taken on either app store. I renamed the Cupertino sole proprietorship I paid ~$120/yr for from “Retro Ink Graphic Design Company” to “Retrographic” and registered it as a Single-member LLC in my state of California for liability protection. You also will likely need to consider a business bank account for additional liability protection and you can open one with your existing bank or a credit union.
- California Articles of Organization & Registration Application —$ 800/yr +Taxes
- IRS EIN number — $Free (this is a social security number for your biz)
- CPA [Certified Public Accountant] for business taxes — $$
- Tech CU Credit Union Business Account — $Free
In order to register my business in the state of California I was required to designate an ‘agent of process’ this is either a home address (not advised) or someone who receives business/legal mail on your behalf. Initially I went with InCorp but now am in the process of switching to Virtual Post Mail so I can obfuscate the address on my App Store Pages to my agents receiving address (similar to a P.O. Box)
In order to put up an app on either app store, even as a placeholder, it must do something. The first apps was a webview I wrote myself and pointed at the URL of a daily blog I started on Instagram and called @sprocketblog I chose Instagram because of its massive platform reach (now 1 billion!) and low time commitment per post; photograph, research, write two sentences in ~30min. I then syndicated my blog through automation to every other service linked in Instagram and through a linking app called IFTTT
- Instagram Business Account (owned by Facebook) — $Free
- Tumblr (owned by Verizon) — $Free
- Facebook Business Account — $Free
- Twitter — $Free
- IFTTT — $Free
- Pinterest — $Free
- YouTube — $Free (Required for Android App videos)
In order to put an app that provides your services on a mobile store you must have a few legal contracts and force your customers to read them for additional protection (links to them are required to submit an app for review). It may also be good to read up on recent privacy legislation for Europe and California if you plan to allow your apps for download there. Most importantly you need to find a lawyer to write these documents as they will insure they work properly, like a bicycle helmet, when shit hits the fan.
- Terms of Service
- Privacy Policy
- GDRP [General Data Protection Regulation] (EU)
- CCPA [California Consumer Privacy Act] (CA, USA)
- A good lawyer — $$$
Once I shipped my first few builds I pretty much got stuck on programming iOS and then later on Android. If you want to invest in learning how to code in Kotlin for Android or Swift for iOS there are plenty of resources but if you can not then I recommend hiring contractors using a freelancer portal like Upwork. Im already a designer but if youre looking to hire the worlds best designers they are all on Dribbble
- Android Studio — $Free/life
- xCode — $Free/life
- UpWork ( Kotlin/Swift Contractors ) — $$
- Dribbble ( Mobile Design Contractors ) — $$
In order to work efficiently with iOS contractors over the internet you will need to upgrade your Apple Developer Program membership from Individual to Company level. For this you will need your LLC business license, LLC EIN number and ‘business email’ that does not end with a common provider like gmail/outlook. Bonus is you can create additional aliases like for help email required on the app store pages. You can create an email alias through a domain provider such as GoDaddy which you will need anyway for your apps site domain
- GoDaddy — $Free x100 email aliases once you buy the domain
- Google Domains — (probably has similar services)
Once I got deep into the details of building an app I had to learn how to put together a database and a ‘stack’ of technologies which sandwiched together run my services. My first attempt was ass-backwards where I picked the right structure (an 80s relational database structure using Postgres) but then shoved it into a VM on Microsoft Azure Cloud and had my contractors write a whole bunch of overcomplicated JAVA code to communicate out to the app through Apache Tomcat. Lesson here is find an Experienced Server Programmer and ask them advice on how to build the right solution for your business with the appropriate maintainable technologies you can hire contractors to code on. In my case the workable stack i’ve currently figured out is as follows:
- Relational Database Structure — $Free/life
- Postgres — $Free/life (recommended for me, may differ for you)
- Heroku (runs on top of Amazon AWS) — $(depends on server load)
- Ruby on Rails / Python (recommended for me, may differ for you)
- Amazon AWS S3 Image Storage — $(depends on load)
When you hire your software contractors if you dont do so through a portal like Upwork you must have them sign a ‘Contractor Agreement’ your lawyer approved so that you both understand the terms of your business transaction and you ultimately end up with a paper designating you as the owner of the code. Additionally that code needs to be backed up in an online version controlled code repository through which it is deployed to the Integrated Development Environment (IDE) your programmers use on their machines
- Contractor Agreement (lawyer approved) — $
- BitBucket (owned by Atlassian) — $Free for 5 seats
- GitHub (owned by Microsoft) — $Free (has paid tiers)
Once you hire your contractor team and youre working with them to build a database there are some additional tools that are essential to get and without which you can not do your mobile app work:
- MacBook Pro Laptop — $1.5–3K (iOS apps require macOS-only xCode)
- iPhone 8 — $600+ (iOS apps require one plugged into your MacBook)
- iPhone X — $800+ (iOS apps require one for testing/screenshots)
- Google Pixel — $800+ (gets most Android OS updates long time)
- Samsung Phone — $ (shows you how your app breaks on this different OS)
- Sketch Design Software — $100/yr (edits design files and app assets)
- Asana Project Management Software — $Free/life (has paid tiers)
- Slack Project Communication Software — $Free/life (has paid tiers)
Once you get a fair bit along you will start connecting your project up to other services to solve common app issues and extend your consoles functionality and/or app features. Here are a few I have found useful to date:
- Google Play Console (required for Android work)
- Apple Developer Console / App Store Connect (required for iOS work)
- Google Firebase Console (enables free app features 1-tap auth, referrals)
- Google Fabric Console (enables crashlytics for debugging errors)
- Google Cloud Console (enables paid features like Google Maps API stuff)
- Facebook Developer Console (enables sign in with Facebook +more)
- etc.
Once you get really into the groove of app development you’ll learn about Mobile App Store Optimization (ASO) and Search Engine Optimization (SEO). I recommend running experiments in the Android store and working with external tools to improve keywords in your app descriptions to start:
Most importantly, and I cant stress this enough, read the platform design guidelines if you want to stand out in a sea of crappy apps. The design of your application and the usability of your interfaces are the best form of marketing second only to your app doing something people genuinely need and value.
I hope this helps you find your way or at-least get unstuck if you’re making mistakes somewhere on the path I’ve already travelled. Check out the app im building and rate it on the app store or come back here and tell me what I can do better :D
Sprocket Android App | Sprocket iOS App
Happy to answer any additional questions in the comments as long as they’re not legal/tax related — talk to your lawyer and CPA for those ;)