I'm Rob Caraway, and I'm a software developer in Austin, Texas. I recently built and sold a few apps, most notably GifShare, a tool for Instagram users to easily share great gifs to Instagram.
After growing my app portfolio to 725k downloads and reaching a peak of $10k/month, I sold my apps in September of 2016. Now I'm sharing my software entrepreneurship knowledge and looking to start another company, which I'm writing about on my website.
In early 2014, I'd used all my savings to build an app that took five months of my time, only to flop. The pain of that failure motivated me to improve my process — I wanted to validate that my app would get downloads before ever building it.
I started immersing myself in other people's problems and asking people, both offline and online, if they had any particular problems an app could solve. Eventually, a guy approached me with an idea about converting GIFs to videos so they could posted on Instagram.
Without wanting to overcommit, I tested the idea (and many other failed ones) by throwing up a landing page.
I attracted a lot of people to the landing page by Googling search terms related to the problem, like "Instagram gifs", and posting a link to the landing page. Most of these pages were YouTube Videos, Yahoo! Answer questions, or blog posts.
An extra benefit of landing page validation is I was able to test pricing. I had originally set the price at $2.99 and no one was clicking "Download," so I set it to free and clicks started rolling in. I had no product, so I instead asked users to give me their email to get notified when it was ready.
Once I started getting some email addresses, I felt enough motivation to throw together a very basic app.
I fit GifShare's app development in between freelancing projects. This constraint was actually great, because it forced me to use my time very deliberately.
I spit out the first version in about a week. My landing page promised one thing: to make gifs sharable to Instagram. The app itself fulfilled this promise minimally:
Add a basic, boring stock user interface and a clowny app icon I threw together in Photoshop, and we got us GifShare's MVP.
But wait — despite having steady landing page traffic plus email signups, I still wanted more validation.
Back in 2014, the App Store's beta sign up process was about as clunky as it gets: sign up to a non-Apple service called TestFlight, provide your iPhone's UDID (what even is that), download a third party app, wait for an email with your download key, then install the app and hope it doesn't crash.
I figured if I could get even a small fraction of my email signups to scratch and claw their way through to the beta version, then get those few users to PAY, I'd be in great shape.
I wanted ten users, I got twenty.
My hope was users would pay for a fake in-app purchase that removed a "Made with GifShare" watermark I attached to each free video. Here I was hoping for only two or three paying users. I got five.
I'd finally reached a point where there was no validation left to do besides actually launching the app.
As soon as I pushed version 1.0 to the App Store, I changed the links that sent users to my landing page to instead go directly to the App Store profile. I also sent an email to my list notifying them that the app was live.
In June 2014, its first month, the app did ~$900 in revenue. At that point, I thought that if I made this puny app into something with better design and functionality, maybe I could turn it into something I could live from.
In order to do that, I needed to experiment a lot to see what worked. On the App Store, experimenting was a huge pain. Pushing an update could take upwards of eight days (!) and could even get rejected, meaning you'd have to submit the update again. I had a handful of excruciating weeks where changes I made negatively impacted sales, and I just had to live with it.
That pain made for a great teacher. I found ways around these long updates by planning certain changes I was going to make in advance then programming a "switch" for them onto a back-end service. This way, I could measure the results of the change, and if they sucked, I could immediately change them back, or in some cases try another option.
Once I adopted a faster mobile strategy, I was able to figure out the major elements that grew GifShare's daily downloads much more quickly:
The App Icon and reviews were the obvious ones, but I found that different watermarks actually affected downloads differently!
Users would see their friends sharing gifs they made with GifShare and see the watermark on the gif, which would clue them into how they made the gif. The more the users liked the watermark, the more likely they would give the app a try themselves.
In a way, the watermark basically automated "word of mouth". The original poster didn't actually have to tell their users about GifShare, but I would still see comments on their gif posts saying things like, "App downloaded! Thanks!"
The daily downloads of GifShare eventually got to a point where I was able to forward GifShare's traffic to other apps I made. I gathered interest for new apps by split testing different promotions within GifShare that promoted another potential app until I found a promotion that converted well enough.
Surprisingly, my "Gif Maker" app promotion converted really well, so I committed to making a Gif maker app I called GifLab and GifLab+.
While I was able to convert a lot of traffic and significantly bump my downloads, I got lazy here. I wasn't as "lean" as I could've been, and I built a whole bunch of useless features that no one used and only served as a distraction. Thus hurt my sales as a result, and I had to undo a lot of work to get it back to what users wanted.
As I mentioned earlier, free users gave me free marketing via the watermark — but if they wanted a clean video with no watermark, they had to pay. 90% of my revenue came from this upgrade within both GifShare and GifLab, but users could also pay for more filters, fonts, and other features.
I continued to increase sales by making one of the most cliche but effective moves in the book: I charged more. My original in-app purchase for removing the watermark was $.99 and the final one was $3.99.
Charging more was scary. Sales would drop off for like a week, but for some reason I eventually got the balls to wait longer to see what would happen.
After two-ish weeks, the same number of people would upgrade as previously at the lower price. A strange effect, for sure. I attribute it to the fact that new users come and go very fast and, after a few weeks, ~90% of the user base had changed and nearly no one left using it was even aware of the old price.
Focusing on other ways to get users to pay, I experimented a lot with tweaking the sales page of the watermark upgrade. A LOT of my back-end experimentation was running split tests on different changes to this page because making improvements to it would tweak conversions heavily. The final version had a really fun entrance and dismissal animation, which made it really fun for users to summon.
Being a solo developer, I got to keep most of the revenue I generated, and I keept chunks of it in reserve. Of course Apple takes their 30% cut (completely understandably), but other than a few analytics services, my monthly expenses were very low.
With all that extra cash, what better way to use it than to blow it on some failed experiments?! I tried paying Instagram accounts to promote a new app which had no effect on sales or growth. I paid a ridiculous amount for some App Store screenshots for an unproven app. I also tried to hire a cheaper programmer, which went horribly wrong. I ended up scrapping all his code after many painful hours.
I learned to accept that these things happen and are important to let happen. I learned from every one of them.
Month | MRR |
Jul '14 | 1620 |
Jan '15 | 4580 |
May '15 | 7990 |
Oct '15 | 10500 |
Jan '16 | 12400 |
I noticed something fascinating about GifShare — although the app peaked around the top 300 free apps in the Photo & Video category, it consistently held a spot in the top 80 grossing apps.
Most app entrepreneurs appeared to be really good marketers — they were good at linking traffic to their app, cornering certain keywords, getting people to download their app — but when it came to the actual app content, I realized many didn't know how to create an effective product.
That might explain GifShare's disproportionately large sales-to-downloads ratio. Many app creators were piling the downloads on, but once users were in their apps, they have no idea what to do with them. I probably had to opposite problem — I could've leveraged way better techniques for increasing my downloads, but thanks to my back-end mobile strategy mixed with my deep knowledge of app development and interaction design, I was able to convert unusually well.
A lot of my strategies were a result of having a deep understanding of "lean startup" techniques and Steve Blank's sphere of entrepreneurship (Four Steps to the Epiphany, The Lean Startup, Running Lean by Ash Maurya, etc.), and a lot of mobile app entrepreneurs don't really have a good grasp of those principles.
There's a lot of bad information out there about app entrepreneurship, and as a result a lot of bad mobile entrepreneurship — think web entrepreneurship of the late 90s early 2000s. So, strangely enough, I found being a student of web entrepreneurship gave me a strong advantage in the mobile space.
If there's a lesson I learned here, it's don't just mindlessly follow what others are doing. If I had copied others' designs, I don't believe I'd have had the same success.
I had a wonderful time building and selling this app portfolio. After a few months of, "Now what do I do?" I've grown confident in my abilities as an entrepreneur.
The problem I encountered with my app portfolio was that I felt the ideas had very little staying power and their usefulness would subside in a few years' time. That lack of long-term security is what's motivated my next goal: to build a company that will last 20+ years.
Building a lasting company doesn't happen overnight. I'm working on a few projects with some amazing people, and I'm always experimenting. Big successes come from a series of small experiments. Most will fail (and some have already), but I'll bearhug the ones that succeed.
When I first started digital entrepreneurship, I felt like I lacked good examples on how an introverted solo developer like myself could have success. A lot of podcasts I listened to and blogs I read about entrepreneurs felt like I was listening to super humans who never made mistakes and were robots who had no hobbies or interests other than BUSINESS AND HUSTLING ALL DAY EVERYDAY.
I never felt I could fully relate to that mentality, and I desperately wanted validation that other entrepreneurs made mistakes, and bad decisions, and that sometimes nothing goes right… that success was not linear, but often started from humble beginnings… that they had pointless hobbies and deep friendships. I wanted to know it was okay to be a real person as an entrepreneur.
As a result, a deep part of my mission now is to write the type of content that my younger self would've loved to read.
I'm naturally drawn toward creating long form, high quality essays, and I write about my stories, successes, and failures as a digital entrepreneur on my site through my newsletter. My goal here is to mostly just enjoy the act of creating. If my essays help even one newbie learn something or simply feel validated, I'll feel writing them was worth it.
Ship stuff. Building a product and showing no one is the easiest thing in the world. Get your work in front of people and listen to their feedback. Talk to people about your work. Gauging people's feedback towards your products is a very valuable skillset.
You're going to fail lots, and that is okay. When I was just starting out, I loosely kept track of how many total hours I had put into entrepreneurship. Whether or not you believe in the legitimacy of the 10,000 hour rule (10,000 hours of deliberate practice in something makes you an expert), I knew that even if I was bad, the failures and hours I was putting in were making me better, and I'd be an expert if I just kept learning from my mistakes.
I've certainly crossed over that 10,000 hour barrier at this point, and while calling myself an expert is a stretch, I feel fairly comfortable with my abilities as an entrepreneur. Most of the fundamentals just click.
I started entrepreneurship six years ago. While I was lucky to almost always do it full-time, that's a six year investment that will pay off for the rest of my life. Forget about money — I've learned to be in full control of my time, energy, and to surround myself with good people. I sometimes take for granted how liberating all that is.
I encourage others to think similarly. I think of entrepreneurship as being accomplished through small phases of taking control of your life.
If you're a corporate employee who's stuck in bad commutes and boring meetings, your first step might be to try to find a remote job or a job closer to your home. That's huge — you've just earned some of your energy back.
Now with all that extra time, you can start to find freelance clients on the side. After awhile, that side income can free you from your job — now you've got even more good energy to work with.
Maybe afterwards, you decide you're going to start transitioning to only working with clients that make you feel good about yourself and pay you what you're worth.
It's this slow climb towards controlling more of your energy and your happiness that allows for effective entrepreneurship — taking tiny, positive steps that make sense for your situation, stretched over a 20 year period, and all of a sudden you're running your own company. Getting yelled at by that overpaid manager seems like a distant, forgettable memory.
My website is robcaraway.com. I write essays about digital entrepreneurship, but you can also reach out to me if you have a question or need some guidance in the app space. I love email conversations :)
My twitter is @robcaraway4 where you'll hear more about general entrepreneurship stuff and my side projects.
If you want to hang with me, I love attending conferences. Tell me your favorites (I'm going to the ConvertKit conference and the Sean Wes conference this year!) and ask me any specific questions in the comments :)
Hi Rob! First of all congratulations, this is awesome!
I was just wondering if you were working solely on your own or with someone? I'm currently working with someone on a mobile app that we think might make a bit of revenue and would love to learn more about how you structured your entity and taxes.
Did you do a sole or dual proprietorship, an inc, an llc etc? And why? If not, is there anything you recommend for two indiehackers working together on an app? Thank you so much! :)
very inspiring! I made a video in Chinese for Chinese reader:https://youtu.be/HSUcXN57BJc 我做了个中文版的总结视频在这里
Rob, great interview! What is your best tip or tips for user onboarding?
What is your opinion on mobile web app verse native apps?
Great insights, thank you for sharing your story. I've loved the advice you've left at the end of the article.
Cheers!
Great post!
I wonder how you sold the app. Did you use any marketplace?
Can you elaborate more here?
and sold for how much?
Curious what your conversion rate was from free to paid users? I've got several apps in the 2-3% range (which I don't love, but I feel like isn't too far outside of normal). If I could get to 5-7% I'd be thrilled. (Note these are subscriptions and not 1 time payments)
I believe I had around 7-9% conversion rate though my rate was way above industry standards. I experimented with lots of changes to get that number to go up using my backend service. It helped to have a strong grasp on good app design.
Yeah that's definitely fantastic
"I started immersing myself in other people's problems and asking people, both offline and online, if they had any particular problems an app could solve."
Any advice or strategies for finding these problems or pain points for apps?
Hey dc, I'm writing in elaborate detail currently about idea discovery and finding real problems. Will go up first on my email list!
Hey there, great post!
I am a designer who has been working remotely for about 6 months now and have spent my spare time learning Swift. I found the decision between learning swift vs web programming tricky, but after about 10 hours on both, I felt swift was more for me. The problem is, I am always disheartened when I see blog posts like "the app store is dying" or "I havent downloaded an app all 2017" with plenty of comments seeming to agree.
Do you feel it is still worth getting into the appstore with the intent to make products but also potentially make money (im not talking massive amounts, just maybe enough to live on).
Also, within your app portfolio (can you list some of the apps that were big hits and some that failed by any chance?) did you ever get copycats and how did you deal with them? I want to test an idea by landing page whilst I slowly learn (and build) an app but worried that someone who already knows how to make it will obviously be faster and get it out much quicker than I will?
thanks!
AppStore is not dying. It'll be growing as long as Apple sells more iPhones.
For solo-preneurs I would strongly advise AGAINST doing mobile, for several reasons:
Since you're learning Swift I recommend writing Mac OS X apps.
If you solve non-trivial problem, you can charge at least $29 per app, so you only need to sell 30 copies per month.
There's always competition but it's much lower on Mac. For example, there's only one really good GUI client for Postgres - there's room to compete there.
You have more opportunities to do marketing (content marketing).
The apps are usually more complex so that if you have a successful product, you can spend years adding more features that will be useful for your users.
With complex apps there are more opportunities to distinguish yourself by doing things differently.
For example, I believe you could compete even in a very crowded space like file managers as long as you build some unique UX or functionality that existing file managers don't have.
Yeah that was my main problem when deciding general web dev or swift . The fact that the app store seems hard to compete in with so many apps yet so little space to be seen. And then everywhere I read about someones app randomly spiking getting to liveable amounts then dropping again.
If I were to sell apps at .99 I would be happy enough to just sell 3000 a month, but that still seems like a lot to me. I did look into more Mac OS X apps and have a few ideas to solve personal problems (or making better looking ones of down right ugly apps I do use). I have been tempted to stop with swift and learn web dev, but then it seems to me there are so many web apps as well, that that would be just as hard a market to break into. The only real thing that kept me within swift is that whole server side swift thing? (specifically vapor) which from what I understand, is basically making web apps with swift instead of the multiple alternative languages.
What are your thoughts on learning native app vs web dev stuff?
Both desktop apps (Mac or Windows) and web apps are good choices, as long as the idea is viable. So I would focus on generating ideas, pick the best one and then decide if it's best done as web app or desktop app.
Sometimes the decision is obvious, sometimes you have to consider pros and cons.
Web apps those days are much more about front end (for which I recommend TypeScript and React) than the backend.
I wouldn't use Swift for the backend. Even the OS X UI stuff is still in flux and immature and backend stuff has not been validated at all.
Personally I use Go for the backend and TypeScript + React for the front end (that's how I built e.g. https://quicknotes.io).
Unlike Swift, Go has been validated as a backend language (I keep a list of companies using Go in production https://quicknotes.io/n/1XB0-companies-using-go).
The App Store is 100% not dying but growing fast. "I havent downloaded an app all 2017" << People who say this are not your market then.
"Do you feel it is still worth getting into the appstore with the intent to make products but also potentially make money (im not talking massive amounts, just maybe enough to live on)."
Yes.
"...worried that someone who already knows how to make it will obviously be faster and get it out much quicker than I will?"
This is a worry that many newbie entrepreneurs face. I can assure you that it is nonsense-- no one is going to take your idea. I never dealt with any copycats worth anything.
I agree that no-one copies ideas but I think it's very common to copy successful products.
For iOS cloning is common, especially for 1 person businesses, because if it was possible to write by 1 person, it's even easier to clone by 1 person (you can skip the time that original developer spent iterating on UI).
That's why every obvious simple app has 10+ implementation (todo lists, note takers, flashlights, timers of all kinds).
Even huge businesses can be copied if you have ruthless, equally big competitor (see Snapchat features being copied by Facebook's Instagram).
That's why I think desktop apps are much less risky than mobile apps. There's less developers and before other people realize your product is successful, you have a year or 2 to build a competitive moat (2 years of engineering can't be copied as easily, your SEO ranking won't be easily overcame etc.).
"That's why I think desktop apps are much less risky than mobile apps"
I don't disagree at all. Mobile is flooded and the margins are low per download.
For some ideas, it still makes sense. In fact, I encourage most mobile developers to also learn a web stack (I use MEAN.js) so that they're ideas are not limited to one platform.
Would you learn Swift or MEAN first?
I can't really answer this without knowing anything about your situation. Listen to your gut?
I think I'll go with Swift first since that's what everyone on ProductHunt seems to do. Thanks!
Thanks for the reply.
I know it is a very common worry around newbie entrepreneurs (wantrepreneurs as some call them!) but I guess it is just something that fades away after realising it yourself. So I appreciate the reminder/reassurance.
"The App Store is 100% not dying but growing fast. "I haven't downloaded an app all 2017" << People who say this are not your market then"
Yeah I guess you are right. It just seems everyone I follow in certain fields seem to say it, but I guess that's because the ones who are downloading it are not mentioning it.
Again, really great post. I shall be keeping my eyes on your website for new posts/updates :)
I think now ill take some time out from learning to code and get a landing page up to validate my idea. Do you have any other initial marketing tips beyond the ones you mentioned?
The thing about marketing is you're free to be creative. The important thing is simply: does it get your idea in front of people you hypothesize could be converted to customers? If it fulfills that, you're in good shape. Be prepared to try a lot of different channels and ideas, its rarely going to be the first one that works.