Making It: Indie iOS developer Curtis Herbert
Curtis Herbert is the indie developer behind Slopes, an app that gives "skiers and snowboarders detailed stats, and bragging rights, about their days hunting powder". After following his blog for months, I met Curtis earlier this year when I briefly joined the Independence podcast team to chat about life as an indie developer.
First up, tell us a bit about yourself, what you're interested in, and what you do all day.
I’m an independent developer trying to make a living in the App Store. Building something (be it an app, a project around the house, or LEGOs) is part of my core identity. When I’m not building something you’ll find me outside either enjoying a good 5 mile run, or in the winter carving down the mountains on my snowboard.
What does a typical workday look like for you?
Usually I’ll live the indie dream and sleep in super late … you know, around 8:30am or so. Brew up a pot of black tea, cook breakfast, and then I’m jumping head-first into whatever I need to get done for the day as I work from my home office. The day itself doesn’t have much structure after that, save for two points: around 1pm I’ll take a break and either go for a run or go to the gym for an hour, and then my wife gets home around 5pm so I try to (and often fail) wrap up by then. Despite being indie for 6 years now I’m still pretty disciplined about not goofing off too much during the day.
I’ve been trying to mix things up a bit more as of late, though, as working from home can be pretty isolating at time. I’ve been making it into one of the great coworking offices in Philadelphia (shout out to Indy Hall!) twice a month now. The commute into the city prevents me from doing this too often, but being surrounded by welcoming and creative people even just 2x a month is great.
After work hours I’ll usually try my best to “shut down” and stop working, but I only have a 50/50 success rate with that. When you’re working on building something you love it has a way of hooking you back in.
And when you're not working, how do you recharge and relax?
If I lived somewhere with more winter I’d be snowboarding all the time to relax. There’s just something about throwing on some chill music and hearing the crunch of the snow under my board that always manages to relax me. Alas though, Pennsylvania only gets 3 or 4 months of winter so I’m stuck finding other things to do with my time!
Usually you’ll find me playing video games as I try to shut my brain down and relax. I’m a sucker for the unique experiences and worlds I can jump into through a game. I’m a big fan of traditional table-top games with friends, too, so that’s how I’ll spend my non-antisocial time. If I’ve exhausted all those options you’ll find me enjoying some good sci-fi show (so excited Trek is back on TV, and actually good proper Trek!).
How long have you been working on iOS apps? What was your very first iOS app?
I’ve been working with iOS apps since the SDK was released. I was a web developer at the time, but the idea of shipping software for an Apple platform always appealed to me as I’d been a Mac user since I was a kid. The iPhone seemed like the perfect time to get involved after a few failed attempts to teach myself Objective-C for the Mac.
I was constantly playing around with ideas, but I didn’t get my first app into the store for another two years in 2010. The name hasn’t aged well (“Isis") but it was a server monitoring program (with a C# server app backend my friend wrote) allowing me to keep an eye on my web servers’s CPU/RAM/etc. I think I sold all of 5 copies or something, ha. It was a great experience though, and being able to point to something in the store and say “I made that!” was worth it.
How did you get started with Slopes?
I got started the way many developers do, I think: I was using another app, got annoyed by it, and said “I can do better!” I think I sat on the idea for a good 5 months though before I finally decided to take the plunge. I’m not usually one to half-arse something and I knew that if I was going to take on an app at that point that I’d be trying to make a real go at making it a large part of my life. I worked on it for nights and weekends in the spring / summer, and then took off 2 months from consulting work leading up to the winter to finish it up in time for the season. Fun fact: Slopes 1.0 was launched into the App Store while I was on an Alaskan Cruise using terribly metered and slow wifi on the boat. Quite a way to start an adventure in the App Store.
What was your journey like from starting Slopes to jumping into the indie life?
When I started Slopes I was already indie, although the mindset is certainly different. At the time I started working on Slopes I had been doing independent consulting (web and iOS) for two years already, so I already had a bit of a groove going. But as I’ve transitioned to spending more and more time on Slopes as it has grown I feel like I’m finally starting to really “get” the indie lifestyle.
It is quite the tradeoff — without clients I don’t have anyone I’m responsible to, which means more freedom with my day-to-day and sense of direction, but at the same time now the success / failure of the app rests heavily on my shoulders.
How much development time have you put into Slopes, and how much is it making?
Oh, geez! I wish I had been running Harvest over these last 4 years as I’d love to know how many hours went into it.
The first few years, besides some nights and weekends, I only really took off a month or two per year to focus on the app. I didn’t feel like I could justify any more time; it just wasn’t making a lot of money. But in 2015 I took the summer / fall to re-focus my business model to try to find a way to turn the app around and get to the point where I could justify spending a lot of my time on it. Fortunately, it worked, and I’ve been 2.5x’ing my revenue every year since then. Last winter I saw ~$40k in revenue, so I’m hopeful I can go full-time on it after this winter.
Since your business tends to be seasonal, how does that affect the way you work both on the macro and micro scales?
Being so seasonal brings an interesting dynamic to the business. On the one hand it is frustrating - most of my revenue comes from the northern hemisphere, so I only see “real” money for ~4 or 5 months of the year. During the rest of the year I’m kinda in the dark in terms of trying to predict how well the next season will go. This also condenses my need to focus on marketing and customer support to that same time period, which is nice.
During the summer, since I don’t have a as many active users in the Southern Hemisphere, I’m able to take some time off from “running the business” to focus on my more ambitious goals within the app. This summer I wrote server-side sync, for example. It’s nice to be able to have a longer window of time with fewer customers grabbing at my attention.
The ebb and flow of the seasons brings an interesting forced-focus like that through times of the year. In some ways, I’m just along for the ride.
In the startup world people often say you can't build a business as a solo founder. Do you personally see advantages or disadvantages to building and marketing Slopes on your own?
I certainly feel the disadvantages as I just don’t have enough time to do it all, it is a real struggle to keep up and I know I’m just barely covering everything I need to do! Having a second person focused on marketing would probably really help me take Slopes to a next level. As much as I don’t mind teaching myself how to market better, and I’ve been managing, I’m sure I’m making so many amateur mistakes and having a pro partner would make a huge difference.
That said I have to admit if I didn’t also identify as a designer being solo would be a lot harder. I think solo only works if you can at least come close to looking like you know what you’re doing on all fronts (even if you don’t!).
But, at the same time, being solo does have its advantages especially when revenue isn’t enough to support two people yet. I’ve been able to make do, growing Slopes into a real business, without much financial stress because I’m not responsible for someone else’s paycheck. Being solo has let me grow Slopes on my terms, and even though it has been a long-game, I don’t feel the rush to get there.
Has anything surprised you about going indie? What are the main differences for you, compared to being an employee? What's been harder than you expected?
The idea of trading time for money and money for time was a surprising, and alien, thing for me. Having had a “real” job for 6 years before going indie I was so used to working the average ~1,800 hours a year and not even thinking about it. When I went indie, and was focused on consulting, I very much held myself to the same idea of 40hrs / wk, and I was just as bad (if not more so) about taking vacation! It was a great way to make money, but it still felt like I had a JOB-job.
Over time I started to realize that tradeoff existed, and started to think of my indie life as goal-based, especially in terms of finances. That’s helped me reach a much better work / life balance and focus on myself and my health. Now I know when I need to take on a project or two to meet my yearly goals, and I know when I can safely take some more time for Slopes or something else. Having a focus on yearly goals like that, instead of just clocking in the hours, has made all the difference.
The stress of my decisions being able to make or break my business is harder than I expected, though. When you’re an employee generally you aren’t going to be responsible for your job loss (unless you are a terrible employee). But as an indie, if I mess up Slopes, I can lose that part of my life, which is very intimidating.
We like to ask everyone what "making it" means to them. What does it mean to you? Do you feel like you've made it already?
I don’t know if I’ll ever “make it”, at least not without being retrospective. My goal is to be able to keep doing what I’m doing: make a living on products I can be proud of. Right now I’m succeeding at that, but if I fail next year I’m back to not making it. So ask me again when I’m 60 ;)
As an indie dev, how do you stay in touch with the iOS dev community? Do you end up spending a lot of time working alone?
The iOS community is still very Twitter-centric (for better, or more likely, for worse) so I do spend quite a bit of time there. Every month I’ll head into Philadelphia to attend Philly CocoaHeads, which is a great excuse to hang out with 50 or so local iOS developers / designers / hobbyists and talk shop. I’ll also try to make it out for a few iOS conferences throughout the year. I find the mix of those three things keeps me pretty well connected with the iOS community, and keeps me meeting new and interesting people.
I'm always on the lookout for more diverse iOS developers to look up to. Do you have any diverse influences in the iOS community that you admire?
Just to name a few: @jasdev, @PaolaNotPaolo, @mcgeerosa, @ashleynh, @erynofwales
What are your future plans for Slopes and beyond?
There’s so much I still want to do in Slopes, I haven’t really thought beyond it yet! I feel like it is really just getting started (let's hope I don’t hit that dreaded SaaS revenue plateau soon). The annoying thing is that, aside from some obvious nice-to-have features, I’m getting to the point where what I want to do is reaching the difficult-to-engineer territory. I’ve always liked pushing the bounds of what Slopes can do, and I feel like that’ll be coming to bite me in the butt soon ha.
Immediately though I’ve been focused on getting Slopes 3.0 out the door soon. I basically had to write a mini Google Earth for 3.0 (you can replay your runs down the mountain), and server-side sync. Like I said, I like doing the hard things.
Thanks for joining us, Curtis!
You can find Curtis on the web at curtisherbert.com and on Twitter at @parrots