00:00:10 ◼ ► For today, I had kind of an interesting thought this week when I was going through my email,
00:00:26 ◼ ► where I definitely kind of feel and miss the fact that if I was working at a bigger company,
00:00:53 ◼ ► if I'd started my company with the purpose of being a general-purpose software company,
00:01:06 ◼ ► and I had people who did different jobs, design, development, operations, marketing, monetization.
00:01:16 ◼ ► or each of those aspects of my work being a different hat that I have to keep switching off back and forth.
00:01:22 ◼ ► And while it's definitely not something that I'm pursuing or thinking about in that sense,
00:01:27 ◼ ► I'm very happy being a one-person shop. I'm very happy doing things the way that I do them,
00:01:37 ◼ ► I enjoy how straightforward it is for me to do my work, for me to kind of work towards this.
00:01:44 ◼ ► But I think it's also important for me to be cognizant and aware that that is coming at a cost.
00:01:51 ◼ ► It's a complicated balance. There's this weird thing of, say, I hired someone to help with marketing,
00:02:07 ◼ ► You'd imagine at least if you hired a person who was full-time's job at OAS to work on marketing or monetization,
00:02:12 ◼ ► that they would have an increase in terms of the revenue and the business side of the business.
00:02:17 ◼ ► But it's also that would come to a cost of there being a person with a salary and the overhead and management.
00:02:24 ◼ ► And it is, for me, obviously I've settled very comfortably into 13 years after starting being an indie
00:02:34 ◼ ► But I thought it would be interesting, nevertheless, to kind of talk through the downsides and the challenges
00:02:40 ◼ ► that this approach is taking and sort of this approach, what am I giving up by making that choice
00:02:54 ◼ ► I've been kind of fiercely independent for so long now that I consider myself just somebody who is not capable of employing others.
00:03:03 ◼ ► And that's probably not exactly correct. I'm sure if I tried really hard or if I really had my heart in it,
00:03:25 ◼ ► And that is inherently limiting. There's a lot of things that, by nature of that, I'm just never going to be able to do.
00:03:42 ◼ ► So I would want a native app. It would just be so much more code, so much more design and testing and support and marketing.
00:04:00 ◼ ► And so I just have to realize, well, if I'm going to have this app business and it's just going to be me,
00:04:18 ◼ ► So, for instance, Overcast does not have any way for people to write reviews for podcasts that are visible to other people.
00:04:25 ◼ ► Because if I did that, it would create the potential for spam and abuse and hate content and possibly illegal content.
00:04:37 ◼ ► So that would take a staff to handle complaints and possibly look over reviews and things.
00:04:47 ◼ ► And I just have to design my app and set my expectations in such a way that I know I am staying within the bounds of what one person can do.
00:04:54 ◼ ► So that's part of it, is that being indie inherently limits the scope of what you can do and the types of problems that you can tackle.
00:05:08 ◼ ► And so that part of it, I don't see that as necessarily a downside, just something that we have to be aware of and design with that in mind.
00:05:19 ◼ ► Yeah, and I think the big thing, which you just—I love the way you said that in terms of it's like scoped such that it's something that one person can do.
00:05:31 ◼ ► And this was almost like what you were describing what it would be like for you to have an Android app.
00:05:37 ◼ ► Essentially the person who's doing all of the things that you do on the iOS side would need necessary on the Android side.
00:05:51 ◼ ► You would need at the very least, at the very minimum, one other person to be able to take care of that at that level.
00:06:05 ◼ ► I mean, you could—I'm not even sure it would work to be like, oh, if you just split your time half and half, you would get there.
00:06:11 ◼ ► I think there are certain things that become—the effort it takes to keep up on one platform and to be current and active is such that,
00:06:24 ◼ ► But it's very unlikely, and it's probably much more likely that you would just need another person.
00:06:29 ◼ ► And it's like choosing not to hire that person or not to contract with that person or whatever that is,
00:06:35 ◼ ► it means that, yep, those paths are just sort of closed off and are just unlikely to ever be things that will make sense.
00:06:42 ◼ ► And I certainly have similar things that I had people who were asking for WidgetSmith on Android.
00:06:46 ◼ ► Because Android has a widget system, and it's like WidgetSmith is a well-known popular name.
00:06:52 ◼ ► But it's like, I really don't want to go down that road because I just don't have the bandwidth.
00:06:57 ◼ ► It's like I barely in some ways feel—sometimes feel like I have the bandwidth to manage what I'm managing now.
00:07:02 ◼ ► And so it's like the thought of trying to start it on a new platform and go in that direction,
00:07:07 ◼ ► even though it's, I'm sure, an opportunity that would be sort of interesting or potentially lucrative and she could for business.
00:07:16 ◼ ► I would also say, while we're still in the coding area, when you're an indie, you can't do a lot of time-consuming or complicated things in the code.
00:07:26 ◼ ► And so what that usually means is, in kind of simplified terms, you have to choose what area, if any, you're going to have be a large code investment.
00:07:40 ◼ ► So what that means in practice is using a lot of system components without a lot of modification.
00:07:51 ◼ ► I'm not using AVPlayer, so I'm doing this whole custom audio engine thing to do my audio features.
00:08:01 ◼ ► This is my whole path towards Swift UI that I'm working towards is in part to continue this path of like the time,
00:08:09 ◼ ► if you want to have a really custom UI. Notice I'm not saying a really good UI. A really custom UI.
00:08:16 ◼ ► That takes a huge amount of code and testing and design work and everything, and that's a big time consumer.
00:08:22 ◼ ► And so if you're going to do that, you can have a super custom UI as an indie, but that's going to come at the cost of your feature set.
00:08:30 ◼ ► If your feature set is going to have complicated work in it, you're going to have to have a really simple stock UI.
00:08:37 ◼ ► And it can look nice, but it's going to have to be mostly stock components. Or vice versa.
00:08:41 ◼ ► You're going to have to use mostly stock stuff in your feature set if you want to have a really custom UI.
00:08:46 ◼ ► And again, this is not necessarily good or bad, but it's something that you have to be aware of.
00:08:52 ◼ ► You as one person have limited time, and we're going to get to in a few minutes, we're going to get to some other things you're going to spend that time on.
00:08:59 ◼ ► But as the limited time single person, you can only invest heavily in a small number of time consuming areas of your app.
00:09:09 ◼ ► And so in most cases, it's going to be using stock components as many places as you possibly can.
00:09:16 ◼ ► And I think there's the other area of scope, and I think the other thing too that I'm thinking about is the impact of being a one person development team is the reality of it limits your scope and it also pushes out your timelines.
00:09:32 ◼ ► I'm very aware of the Mythical Man month and all the things that adding five software developers to a project doesn't necessarily get it done five times faster.
00:09:40 ◼ ► But I am pretty confident that if I hired a couple of quality iOS developers, some of the features that I'm working on would be done sooner.
00:09:49 ◼ ► Because at the very least, they would be done in parallel. Like there would be a sense of parallelism that would, projects could, features could be pipelined concurrently.
00:09:58 ◼ ► And then there's certainly the integration step and things, but some amount of timeline would be compressed by hiring more people.
00:10:05 ◼ ► And that's just one of the realities that I don't get as an indie. When I look at what I'm going to do, I kind of have a rough kind of like product roadmap between now and probably like, you know, maybe February of next year, like roughly.
00:10:19 ◼ ► And I look at those and it's like some of those things could be done a lot sooner if it wasn't just, you know, like, but for me, I'm just doing them sequentially.
00:10:26 ◼ ► So like, you know, I've worked on the Widgetsmith, you know, lock screen widgets, and then I worked on the pedometer++ lock screen widgets, and then now I'm working on the sleepless plus sleep stages thing.
00:10:36 ◼ ► And then I'm going to go back to this next thing. And it's like, it's that that's, you know, that that sequence is just as you know, I'm a serial queue, and I just go take one thing and then I work on the next.
00:10:45 ◼ ► And so, you know, being able to be a parallel queue would be certainly an advantage. But like, that's just something that isn't available to me. And like the consequences, my timelines are just what they are. And they can kind of get pushed out in a way that I can't really control or change, you know, then like, working harder, whatever that means, or like somehow increasing my productivity.
00:11:04 ◼ ► But, you know, it's like, there's only so much that you can do with that there's only so much coffee you can drink, there's only so much attention you can sort of apply your mind to. So at a certain point, I'm just limited to whatever the speed of you know, the speed of the speed I'm able to sustain. And, you know, that is what it is.
00:11:21 ◼ ► Now, if you are at the point in your career where you're ready to go from a serial queue to a parallel queue, we are brought to you this week by Sourcegraph. This is great if you've just hired a new developer, you have to get them onboarded. If your company is growing onboarding new developers is a common occurrence, but it's a big undertaking.
00:11:38 ◼ ► One of the biggest challenges for new hires is to get up to speed with the project their new team is working on. And if your code base is already large, this can be really tricky. Thankfully, Sourcegraph makes it easy to move very quickly, even in those big code bases.
00:11:51 ◼ ► Developers know knowledge is most useful when it's findable. Centralization helps, but since most companies store knowledge in at least two different locations, how do you make knowledge accessible to those who need it?
00:12:01 ◼ ► Sourcegraph is a code intelligence platform that gives developers what they need to drive their own learning over time and in different situations. So without Sourcegraph, you need to rely on asking colleagues or reviewing documentation that might be out of date, which is cumbersome and time consuming.
00:12:16 ◼ ► With Sourcegraph, every developer can search across millions of repositories to find specific code, saving time for themselves and everyone else. So when questions do come up, it's just the big stuff that's worthy of the extra time.
00:12:28 ◼ ► Sourcegraph was created to make developers' lives easier, and today they work with leading companies across every industry, including three out of five of the top tech companies, plus PayPal, Uber, Plaid, GE, Reddit, and Atlassian.
00:12:40 ◼ ► Visit about.sourcegraph.com to learn more. That's about.sourcegraph.com to find out why some of the biggest tech companies in the world use Sourcegraph and to see what it can do for yours.
00:12:52 ◼ ► Or just click the link in the show notes to let them know that you heard about them from us. Our thanks to Sourcegraph for the support of this show and Relay FM.
00:12:59 ◼ ► So we talked about coding limitations and that kind of thing, but we also touched upon a few new areas that I think are worthy of hitting.
00:13:07 ◼ ► As an indie, everything is your problem. Everything is on your plate. There is no part of the business that other people handle for the most part.
00:13:18 ◼ ► Now, there are certain things that you can contract out in relatively clean and easy ways, many of which we actually do without even thinking about it.
00:13:26 ◼ ► So for instance, many of us have tech professionals or accountants or somebody to do our taxes, to file our taxes correctly every year.
00:13:34 ◼ ► That is, I think, a great thing to outsource because usually it's very clean and easy and the risks of doing it wrong yourself are pretty high, and the value that you add by doing it yourself is very low.
00:13:46 ◼ ► So when you have that kind of thing, tax, legal, that kind of work, you as the programmer probably shouldn't be doing that yourself, and there's no benefit to you doing it.
00:13:56 ◼ ► There's only possible downsides. So that kind of stuff you can outsource, but you still have to deal with it.
00:14:01 ◼ ► You still have to hire that person and get the documentation together to give to them or the financial records or whatever it is that they need to do the job you're hiring them to do.
00:14:12 ◼ ► It's still on you to do that, to give it to them and deal with them and interface with them and everything.
00:14:17 ◼ ► So all the taxes, legal stuff, if you have any kind of compliance needs where you are in the industry that you're in, that's all going to land on you in some way, and you still have to deal with all of that.
00:14:27 ◼ ► Another thing that I think, you know, larger areas of app development that I find are a downside that I have to deal with sometimes are, the big question I think is things like server operations and server maintenance.
00:14:41 ◼ ► That's a large area that's still in the programmer area. But even as we leave the programmer area a little bit, we have things like support, testing, QA, that you as the developer are still needing to be very involved in those things, because they directly touch your code, and it's directly related to what you need to do for the app and everything.
00:15:04 ◼ ► So when you're an indie, things like testing and marketing, support, all that stuff, that all falls on you most of the time.
00:15:13 ◼ ► I've hired support people in the past. Frankly, I've never had a good experience with it, and maybe I just had people who weren't the right fit for me for my preferences or for my products, I'm not sure.
00:15:25 ◼ ► It was always, at best, I had an okay experience, and some of the things I tried I had downright bad experiences with, and so I end up basically setting up expectations with my customers in the app that I basically don't provide support.
00:15:39 ◼ ► And I get an occasional one-star review for that, but it's mostly okay. And the reality is I do end up having to do some level of support, but I just try to get rid of the most common stuff like, you know, I deleted a podcast, how do I undo that?
00:15:53 ◼ ► Sorry, I don't offer that yet. But, you know, support's a big one. Testing, Q&A, these are all things that as indies, you're going to be inherently limited in the amount of these things you can do.
00:16:06 ◼ ► So automation helps where possible. Automated testing, I know I don't do this myself, but do as I say and not as I do. Automated testing is a huge help here.
00:16:15 ◼ ► You know, things like support autoresponses or FAQs can go a long way towards helping. This is the kind of stuff you have to think about as an indie, because you don't have the staff of humans that can deal with things one by one.
00:16:30 ◼ ► Anything that is not automated is going to fall in your lap, and you want to minimize the number of those things and then the type of those things so that you can actually do the thing that you want to be doing, which is probably designing and developing the app.
00:16:44 ◼ ► And I think on the operations side, I think it is absolutely true. The difficulty of that too is a lot of the operational work, whether that be accounting, bookkeeping, support, compliance, all those types of jobs, that work is so often completely orthogonal to the actual thing that I'm good at.
00:17:04 ◼ ► It is not a skill that I have. It is not something that I'm particularly strong in. But it falls to me to do it. I have an accountant who does the tax filing, but that doesn't mean that I still am the one who has to gather all the documents and understand all the things that need to be done there, rather than it being, you know, I would imagine in a traditional company, there's a person who that's their job.
00:17:27 ◼ ► And if you were the head of that company, you will like, you know, you think you have a meeting once a quarter with your, you know, the CFO, the chief accounting officer, whatever that is. And you talk about like, you talk at a high level, and you get some reports, and you kind of look at things, but you don't have to prepare those reports.
00:17:43 ◼ ► You don't have to get down in the weeds in a way that you do otherwise. Yeah. And so it's like, I think I've very much taken the approach if I try to automate as much as I can, I outsource what sort of makes sense to do in the operational area. Like I do have someone who does help me help me with support. And I've been able to find a good kind of situation there. But a lot of it more recently has also been to move in towards, you know, frequently asked questions and automation and things that scale and take me out of the loop.
00:18:10 ◼ ► But the reality here, it's like, there's just some operational stuff that I spend, you know, if I time tracked, I would know this, but I probably in my mind, I spend maybe 10% of my working time doing operational stuff that isn't, you know, is essential to the business being a legal, a legal, compliant thing that it does, but is not moving the product or the business itself forward in that way.
00:18:35 ◼ ► It's just like an essential overhead that I just have to kind of deal with and take care of.
00:18:41 ◼ ► Yeah, I find that, I mean, and we talked before, it's even, even as we talk about features and coding of our apps, it, we do have to be much more aware of when we're balancing like, is the thing I'm working on something that's going to benefit my customers in any way, let alone, are they going to notice it? And is this going to result in more sales or happier customers? Or am I, you know, rewriting this component in Combine because I want to do that myself, and it's not going to actually benefit anybody, you know, and that's, this is, you know, and that's, you know, that's, that's a really good thing.
00:19:10 ◼ ► This is, you know, as again, as I'm, as I'm looking at my big Swift UI migration, I'm having to ask this question a lot, like, I'm doing all of this, meanwhile, the feature set of my app is basically going to be frozen for a long time, and that doesn't sound like a very good idea either, so I have to find a right balance there.
00:19:25 ◼ ► But anyway, so one area that I would love to be able to outsource, but I just am too much of a control freak right now, and also I think this would be a pretty significant cost, is the entire category of marketing, because what this means keeps growing.
00:19:46 ◼ ► So one thing I did, you know, yesterday, I, it took me probably 45 minutes yesterday out of my day to, I was going and adjusting my search ads. Yes, I'm back on search ads, I don't feel good about it, let's move on.
00:19:59 ◼ ► I was adjusting, you know, just going through, like adjusting the keywords and bids and everything to, you know, make sure I'm not setting too much money on fire where it's not working and increasing my bids on areas where it is working and, and, you know, and this is all part of marketing.
00:20:16 ◼ ► Are things like social media marketing, where I should probably be, you know, reaching out to different podcasters and, you know, doing some kind of, you know, quick little, you know, quotes or interviews and promos and things like that.
00:20:31 ◼ ► I actually purchased an ad, I purchased a couple ads on podcasts last month, that also took some time out of my day, I'm trying to figure out how to, how to grow my business a little bit more and where, you know, where ad dollars are best spent or promo dollars.
00:20:46 ◼ ► I should probably be like joining Facebook groups and posting on TikTok or something and these are all things that not only am I not very good at, but they take time out of my day and not to mention the fact this stuff all costs real money.
00:21:01 ◼ ► And, you know, so I'm trying some stuff out, I'm probably not going to do a whole lot of this just because it costs so much money and I'm an indie and, you know, I don't have much of a marketing budget necessarily. It's just like I look at what my apps making and I'm like, well, let me see if I can spend money in a way that I'm not losing too much of it, you know, on the ad side, like, you know, try, you try to measure what you're getting and you try to, you know, have ads that, that don't lose you money and that's kind of difficult to find a lot of the times.
00:21:25 ◼ ► But all of that stuff, even, you know, things like making, you know, promo art for the App Store, trying out, like the App Store has so many different features now that are marketing related.
00:21:37 ◼ ► Trying out different copy and A/B testing product pages and making different screenshots for the ad versus the regular product page or trying out, like they have all these different ways that if you have a marketing design team or a marketing, you know, regular marketing team, or ideally both, you can be testing out all these different things and optimizing everything about how your app is, is bought and tried and looked at by people.
00:22:01 ◼ ► And I just don't have the, not only do I not have the design talent for all of that stuff, but I don't have the time to deal with all that stuff.
00:22:09 ◼ ► And so as an indie, I really, I should be doing a lot of that, but I can't do much of it for, you know, mostly for talent, time and money reasons.
00:22:18 ◼ ► So, you know, that's an area where, you know, big companies will again be much, much more advantaged than we are at that. And again, we have to design our apps accordingly. We have to design for things like people sharing it amongst themselves, word of mouth marketing, you know, reaching out to, you know, indie blogs, places like Mac Stories and Daring Fireball that feature indie apps a lot.
00:22:41 ◼ ► You know, that kind of thing is where we have to market our apps. And that even affects what we build, in the sense that we should probably focus our building efforts on areas that we know how to market and can market to with the resources and talent and budget that we have.
00:22:58 ◼ ► Yeah, and I think the hardest part for me with the marketing side is how much of it is speculative or kind of experimental, that so much of I think with marketing is about trying lots of different things to see what works.
00:23:13 ◼ ► You know, it's kind of like, have an idea, try it. It's like, what I think the word, build a campaign, I think is the appropriate phrase for it. It's like, come up with a campaign for how you're going to work on something and then like measure that and see what impact did it have.
00:23:25 ◼ ► You know, it's like, if I spent $1 on this marketing and I got back $1.10, then great, I could do that essentially forever and it's great and it's increasing my bottom line.
00:23:36 ◼ ► I spent $1 on marketing, on a campaign, whether that's paid placement or even just I guess the hourly time that it's spending of doing outreach or whatever that looks like.
00:23:47 ◼ ► And then you're getting back 90 cents on the dollar like, well, that's not working out great either. But yeah, it's so and like the time that you could spend on something like that is just functionally limited, you know, sort of limitless like you can, you know,
00:24:01 ◼ ► it's like you're talking about all the different platforms or areas that you could try, like, you could try going down TikTok, you could try going on Instagram, you could try on Twitter, you can try on the App Store search ads, you could try on Facebook ads, you can do all manner of things that may or may not work.
00:24:17 ◼ ► And so the effort and the time involved in doing that is just like, yeah, I mean, for me, I find it so daunting. And the reality is, is what it means is almost all of my marketing is just I guess what they would call organic, which essentially means you do nothing.
00:24:31 ◼ ► It's like organic is a fancy word for not doing it. And it's like I've been able to, you know, been fortunate enough to find and find ways into niches and to, you know, the way my products are structured, such that that works and has a system is sustainable. But it is definitely not a great situation.
00:24:49 ◼ ► Certainly, at least from like the opportunity cost that I know that, you know, if I hired someone who is good at App Store marketing, and that was their primary focus, I imagine there would be an increase in the revenue of the business. But the sort of the chasm between having none of none of that and having that person is just very wide and for me very intimidating to not feel like you're just going to be, you know, lighting money on fire, and who knows if it's going to work or just the effort and it's like there's all kinds of reputational reasons.
00:25:18 ◼ ► There's all kinds of reputational risks around things like that because like the way you market is a part of how you're presenting your app to the world. And if you're doing it in a way that you know could come across in ways that would, you know, sort of not be how you'd like to be seen, then that's complicated. So you can't completely be uninvolved.
00:25:33 ◼ ► Yeah, it's a weird one. And sometimes it's like, you know, sometimes it sort of nags in the back of my mind. And I think about like, "Oh, man, if I had someone who was doing the marketing for me, you know, how big could this app be? How big could this go?" But the reality is, it's like, I probably will never know that. I'll probably never know how big some of my apps could be because I just don't have the time to do it myself. And I'm sort of too intimidated to do it.
00:25:59 ◼ ► You know, how hard to have someone else to sort of be doing it for me. And that's just like the reality of like, hopefully what I have, you know, hopefully organic is enough. And if it is, then it's like, you know, I'm fine. And if it isn't at some point, well, like, I mean, I'd be in a rough spot.
00:26:14 ◼ ► Yeah, well, and I think that's a great area too to cover. Like, how big we can get. Like, what does the outcome look like? You know, when you hear about big tech companies, or even, you know, these little startups that get acquired for money, you know, it sounds, you know, these are all really big numbers that you hear, right? You hear like, "Oh, this startup got acquired for, you know, $50 million," or whatever, or, you know, sometimes way, way more.
00:26:38 ◼ ► We are not startups. We are indies. And that's a different thing. Startups, usually in the tech world, that means going out, getting VC funding, spending a whole bunch of money on very fast growth, including both staff growth and user growth and marketing growth, you know, spending tons of money in a short time to grow really fast so that your growth rate's really high.
00:27:00 ◼ ► And then some kind of big exit down the road if things go well, which means either, you know, in occasional cases going public, or more commonly, getting acquired by some bigger company.
00:27:09 ◼ ► That's a train that we are not riding. We are not in that game at all. Because literally, like, to do that, you need, like, dedicated staff just to go out and raise money. Like, if you're in that game, trust me, I've seen this world.
00:27:25 ◼ ► When you're in that world, getting money, managing the investors, you know, getting the presentations and, you know, doing the board meetings and all that stuff, that is almost a full-time job itself.
00:27:37 ◼ ► Like, whoever your founders, plural, are who are doing that, that's going to take up a huge part of their time. And managing all of that and managing growth and managing the, you know, the inevitable staff growth that you'll have and the, you know, really, you know, pretty high budgets and everything that you'll be working with and trying to, you know, work through and manage and spend and, you know, that's its own huge thing.
00:28:02 ◼ ► That we don't have time to do any of that. So what to expect with an indie when things go well is you're going to be a thousandaire. If things go really well, you're going to be a millionaire, maybe. You're never going to be a hundred millionaire. You're never going to be a billionaire.
00:28:17 ◼ ► That's a different league. Like, we're not playing in that league. We're playing in the, like, you know, you're going to be, you know, you're going to make an income like a doctor or a dentist. Like, you'll do well. You know, if things go well, like, you'll do well. But you're not going to be, you know, making, you know, yacht and helicopter money.
00:28:36 ◼ ► Like, that's a different level. And that's fine because this is a lifestyle that we choose. And this is a very nice lifestyle because all of the stuff that comes along with that bigger world, that all has major downsides and major costs and major stresses.
00:28:54 ◼ ► And we have to deal with pretty much none of that. And it's, I consider what we do a huge blessing. And as long as you set your scope and expectations accordingly to what it can do and what it really is, it's a great, it's a great living. It's a great life.
00:29:11 ◼ ► Yeah, exactly. And I think it's sort of the way to wrap it up is the thing. It's like, yeah, it's like me, even talking through for half an hour of all of the downsides and limitations of being in an indie, I wouldn't change it. Like, I know that there is a ceiling on how big my business could be. There's a ceiling and how much I can do. There's a ceiling in what's possible. But I choose that ceiling because I like living under it. Like, it's a lovely home underneath that ceiling that is, is wonderful, has been comfortable, has, you know, supported my family for 13 years, and I wouldn't change it.