[HN Gopher] Costs of running a macOS app studio business ___________________________________________________________________ Costs of running a macOS app studio business Author : alin23 Score : 267 points Date : 2023-12-24 19:31 UTC (3 hours ago) (HTM) web link (notes.alinpanaitiu.com) (TXT) w3m dump (notes.alinpanaitiu.com) | trollied wrote: | The net revenue he gets is actually reasonable. | jurgenkesker wrote: | Yes, here in The Netherlands I keep 60% of such income, | compared to his 90% after tax. | isoprophlex wrote: | Yeah. Start a BV (privately owned company) here and the tax | calculation is similar, if not worse, in complexity and you | get to hand over ~40% of your money... in a country with | vastly higher CoL | Jhsto wrote: | It should be noted that for Europeans other alternatives | exist, as you can freely shop any EU country to incorporate | a business. Many of my tech friends have set a company in | Estonia for tax planning once they have hit a certain | revenue (and 0% corporate income tax). | jeduan wrote: | Yeah. Was surprised to see him complain about a 15% business / | income tax. | m_a_g wrote: | As a person from a country similar to Romania, I can | empathize with him. When you lose trust in the state and how | they spend your money, even a 1% tax is too much. | Nextgrid wrote: | I think the countries where you actually get your money's | worth when it comes to taxes is very small, and even then, | it's not clear whether it's due to good policy or merely | luck and riding off previous successes that are being | eroded by short-sightedness, stupidity/incompetence or | corruption (also known as "lobbying" in the West). | alin23 wrote: | The problem for me is not having to pay that tax. The problem | is that we as Romanian citizens never see anything good done | with them. And that's why I feel the need to complain. | | We're out of communism for more than 30 years but the | mentality of officials has barely changed. People are dying | in dirty hospitals of infections that they didn't have before | getting there (see Colectiv 2015). Analphabetism is higher | than in previous years. You will choke and get lung pain if | you want to take a walk on the street in most villages | because of the coal being burned by poor people. | | Education and healthcare are in dire need of money, and we're | always on a tight budget and raising taxes. | Andrew_nenakhov wrote: | Btw, Ceausescu was executed on this very day, December 25, | thirty-four years ago. I was in the 3rd grade and our very | distressed primary school teacher told us that _some bad | people_ in Romania have overthrown the Communist Party | rule! That was the first political information session I | ever was put into, and, luckily, there weren 't much more | of them later due to the dissolution of the USSR. | debugnik wrote: | > see Colectiv 2015 | | > At least 13 of the victims that died in hospitals were | killed by bacteria, probably because the disinfectant used | was diluted by the manufacturer to save money. | | (From Wikipedia.) That's so sad to read, considering they | had actually survived the fire. | vinni2 wrote: | I've never worked as a consultant but is it reasonable to | assume you always have work (8*21 hours) which pays $120 per | hour? | bdcravens wrote: | No, but estimating being booked 75%+ isn't unreasonable. | xenospn wrote: | I do consulting work sometimes - I cap it at 10hr/month and | charge $250/hr. That's a good way of ensuring random jobs | don't take over your life. And yes; there's always more work. | alin23 wrote: | Not really, that was a wild extrapolation on my part. But I | did have at least 2 other companies waiting for me to be | available on other projects, so in my specific case it would | have been possible to continue working like that for the full | year. | strongpigeon wrote: | To add context, it seems like the CoL of Romania is ~45% cheaper | than the US [1]. Which seems like would make for a very | comfortable lifestyle with that income. | | [1] https://www.mylifeelsewhere.com/cost-of-living/united- | states... | gumballindie wrote: | Yeah but people's budgets are not made fully of restaurants and | groceries. The bulk is made of housing, cars, phones, goods, | clothes, which cost the same as western europe for the most | part. In some cases I find food in the UK cheaper. Petrol is | also comparable. While far from London the real estate market | in a large city is comparable to say Manchester or similar. I | doubt people writing apps live in areas where a house costs as | much as a house in Detroit's rundown areas. So op's expenses | are likely higher than that stat. | Nextgrid wrote: | Housing prices are controlled by local supply & demand; | there's no way housing is going to be remotely comparable | between let's say the UK and Romania; the majority of | properties would stay empty forever if they were priced like | in the UK. | | Same thing for most consumer goods - they have a (very low) | base price and the rest is pure profit margin which is | adjusted according to the local purchasing power. Consumer | goods in Romania would be much cheaper than in a Western | European country; whether by existing manufacturers lowering | their profit margins to match local purchasing power, or | other manufacturers managing to fill this gap in the market | by selling at more affordable prices. | xenospn wrote: | Rent in Romania is similar to Western Europe? I thought the | income levels were very very different. | IshKebab wrote: | That seems implausible. I looked it up and the first result | was: | | > A one-room apartment in Bucharest, Cluj-Napoca, Brasov, | Sibiu or other big cities will cost from EUR350 to EUR500 per | month | | Good luck finding that in Manchester! | hereonout2 wrote: | I just found a newly built 7 bedroom villa with pool in | Bucharest for under EUR500k, not ideal as it's near the | airport but if anyone could point to an equivalent in the | Manchester metropolitan area I'd be very interested. | | Also found an entire building on Bucharest's second busiest | street Magheru Blvd for EUR1.4M. Out of my price range | unfortunately but it does include 12 separate 3 bedroom | apartments, a floor of offices, and a restaurant, cafe and | art gallery at street level. | orenlindsey wrote: | That's a pretty good job. This may have been answered and I | didn't see it, but how long did it take to get up to that level? | alin23 wrote: | Author here! It's a tricky question to answer. I wrote Lunar v1 | in 2017, and it was fully free for 4 years, but those years | were essential for the app to mature and get a good following. | | In June 2021 I launched Lunar v4 with the new support for Apple | Silicon and I also added a paid tier. I started making good | money from the start, most likely because Lunar was already | "known". I was making about $3k/month back then, which was | enough for me to not need a full time job anymore. | | Getting to $6k was a gradual process since 2021 until now: | constantly launching free apps, giving more attention to those | that provided utility to most people, adding paid tiers when I | had enough to offer over the existing free features. | spike021 wrote: | How do you plan what features should be added while the app | is free, and then which features in the future will go into a | paid tier? | | Last year I worked on a pet project iOS app (which I never | released unfortunately) and one of my struggles was figuring | out how I'd portion out the features from free to not-free | after release. I was thinking at the time of doing what | you've done, basically releasing as free for a while and then | adding a paid set of features. It's just difficult to plan | what should fit there. | alin23 wrote: | If I want to build a feature that I know would need a lot | of work so I'd like to make it paid, I note it down. That's | it, I just leave it there, and focus on getting the app | launched as free first. | | After the launch, feedback will guide you through what | noted features to act on, and even add some more. | | Launching it as free also gives you time to iron out the | inevitable edge cases that won't appear in your tests. | People will have lower expectations, and feedback will | contain less angry tone, which is usually a big | demotivator. | | The "launch early" phrase you keep reading in maker | circles, makes a lot of sense for indie devs. It's easiest | to validate an idea, and get help on the direction of the | app. Your idea of what the app should be is not always the | best idea, user feedback can help fine tune that. | | However if you have a very specific vision, and "if someone | pays, good, if no one pays, still good", then disregard | what I said above. Keep working on your vision, something | unique might sprout out of that. | | EDIT: I realized I might not have answered your actual | question. Because I always build apps to fix a problem of | my own, I make free only what's essential for that problem. | Like what I would do in a script, but with just a bit of | polish and UI for it to be usable by non tech users as | well. | | That's how Clop launched: first it was a single Swift file | that checked the clipboard for images in a loop and ran | pngquant on them. I would run that at the command line. | Then I packaged it as an app with minimal UI and released | it as free. | | Most of everything else will be paid. That's what happened | with video and PDF optimization on Clop. | | But if it's an improvement on an existing free feature, I | will add it for free. That's what I did with ignoring | specific types of images from the clipboard, or detecting | Universal Clipboard etc. | usui wrote: | I have so much respect for people who know what they want and can | execute on it, despite the financial implications of doing so in | cases where it carries financial risk. It inspires others to | clearly know one's self-worth, desires, and agency. | | > But I could not fit into the same old Slack chat + Zoom | meetings + SCRUM + daily report + doing something that you feel | it has no purpose in the real world for 8 hours a day madness | that consulting work needs. So I said "no, I'm sorry, I'd like to | continue building my apps". | kemenaran wrote: | Congrats for knowing what's important to you (time and peace of | mind, from what I read), and acting on it. | | I work as a consultant, but for the same reasons: I choose to | work only a few days a week, take the salary loss, and spend more | time with my young kids. A time will come where I'll start | working more, which will also unlock more meaningful work - but | for now that's a choice I'm happy to make. | alin23 wrote: | Thanks! And happy to hear you're doing that! | | I also asked for a 3-day work week from my last company when I | wanted to try and make Lunar paid. It's incredible how much | your life changes when you're not defined by your job anymore. | | Because you spend more time (4 days) doing some other thing | than your job (3 days), you really start seeing what's actually | important, and the question "what's your job" no longer has a | straightforward answer. | asim wrote: | This ^^. What we call "work" gets totally redefined in later | years. That flip makes you realise, you are not your job and | your job is just a means to an end. | BubbleRings wrote: | Thank you for making this post! | alin23 wrote: | Thank you for reading it, and glad you liked it ^_^ | orra wrote: | Wait, why are expenses deducted from profits, as opposed to | before profits? Is OP doing something wrong, or is Romanian | corporation tax different from normal? | alin23 wrote: | That's a confusion on my part, sorry about that. You are right, | the expenses are deducted before profits. | | In my case, the expenses are so small (<$1k) that they would | not significantly affect the final tax to be paid, so I just | left it at the end as an aside. | w0mbat wrote: | The Apple app store is a disaster for making a living as an | indie. People can't find the apps so sales are low, market rate | prices are also low. The only way to make a living is to rip-off | users with misleading subscriptions, which I won't do. I made | much more money writing $20 shareware in the 90s. | | That's why I write apps for a corporation now. | gumballindie wrote: | That's by design. You are meant to work for a corporation. | Capitalism is nearly dead due to this - corporation flooding | the market, drowning indie enterprise, and clogging money. We | need a return to capitalism and do away with guilded | corporatism. | plagiarist wrote: | The specific case here is usually referred to as | commoditizing the complement, it's probably intentional at | this point if it wasn't intentional from the start. | | https://gwern.net/complement | czottmann wrote: | > The only way to make a living is to rip-off users with | misleading subscriptions | | (Personal experience/anecdata follows.) | | I don't know. I sell a macOS/iOS productivity app on the App | Store[1], and while not getting rich there, I can tell you | that's actually useful to people, you can put a non-peanuts | price tag on it. I love that it's relatively straightforward to | get an app out in front of a lot of potential customer. | | That said, I wouldn't never rely on the App Store to surface my | app on its own, it's ridiculous. | | [1]: https://actions.work/actions-for-obsidian | qup wrote: | Why not write shareware again? | | More users than ever. | vinni2 wrote: | I am surprised there is so much money to be made in such simple | applications. Kudos well done | mk89 wrote: | I am quite sure that the author of this post doesn't mean it | bad, however, I don't want this post to give people the wrong | impression that the money asked is not worth it. Far far far | from the truth. | | I am learning Swift/swiftUI (as a backend guy with little | previous experience with frontend/UI programs, okay) and | building apps for OSX can be _very_ painful. Starting from | outdated docs (basically no books about OSX development since | ... 10-15 years? or more?) to the new fancy ways of doing | things with SwiftUI (that sells the promise that "you do it | once,..." and it will work exactly as they planned to when you | sell *Hello World* apps). | | It's not the use case itself to be hard, but the fact you need | to support multiple operating systems (which as you might know, | Apple produces every year a brand new model, so imagine the | fun), or that maybe the specific API you rely on (from Apple, | not some random guy out there) has some weird memory leak | because it's written in C++ or Obj-C, who knows last time | someone touched it. And Apple is updating everything but that | specific thing, so you need to build something around it. I | don't even want to start on the lack of libraries for Swift - a | lot of open source libs are outdated, bugged, last commits 1-2 | years ago, which means you either have to fork and fix, or | well, you do it yourself from scratch. | | Nowadays selling software for OSX has basically nothing to do | anymore with the idea or use case itself but all the toil that | the poor developer has to put with up. I learnt that most apps | on the App Store deserves some money (sometimes they ask for a | lot, nothing to say, but that's their business model). | alin23 wrote: | I definitely feel your pain. I get flashbacks of interminable | weeks of work where a bug that's clearly not caused by my | code is suddenly affecting a number of users. | | Reverse engineering skills have greatly improved the way I | develop things on macOS nowadays. Having access to any | process memory and variables and being able to alter it using | Frida makes it less painful to navigate obscure macOS APIs. | | Although if it's a problem in internal SwiftUI code, I'm | afraid nothing can help you. | mk89 wrote: | Thanks for mentioning Frida - I will check it out, | eventually. | | > Reverse engineering skills have greatly improved the way | I develop things on macOS nowadays. | | I don't even want to know what you have to deal with for | your app that handles the brightness of the screen. | Monsters are probably less scary :) | asim wrote: | This is a beautifully poignant post about life and selling one's | time. At 39 I've reached this point where I can verbalise that | sentiment whereas before I could only really feel it. Having to | sell one's time to others sucks. Doing things on someone else's | schedule sucks. And ultimately as the post ended, having the | freedom to spend life the way it should be spent means | sacrificing that extra bit of money we might want but don't need. | Great post. | gumballindie wrote: | You have seen the light. Thing is it's doable. Keep pushing. | ChrisMarshallNY wrote: | That's why I'm not that upset that no one wants to work with an | old guy (that's me), and I was forced to retire. | | I still get to play with software, but on my own time, and on | my own schedule. | | The difference is _amazing_. | Exoristos wrote: | How is that not actionable discrimination? | vasco wrote: | Something being illegal doesn't mean it doesn't happen. | serial_dev wrote: | I assume it's not that easy to prove, so most people don't | take legal action. | | Personally, I don't take legal action even if I think I can | win the case, because it's just too much time and effort, | and I don't want my life to focus on said legal procedure | for the next n months. | | I assume other people also think they need to choose their | battles. | dullcrisp wrote: | I imagine it's a lot harder to sue an industry for not | hiring you than it is to sue your employer for firing you. | plagiarist wrote: | If they're in the US, only provable discrimination is | actionable, and you'd have to hire a lawyer. | micromacrofoot wrote: | because they say "not a good culture fit" and you can't | prove anything | ChrisMarshallNY wrote: | Yup. Also, the entire industry pretty much actively | supports and accommodates ageism. It's not like a few | "rogue actors." Everyone is in on it, and it starts from | the top. | | Also, I found out that some younger folks _really hate_ | us. A number of folks used the interview process to try | humiliating me, and taking out their personal animus. | | After a few of these, I decided "Bugger this for a lark," | and just accepted that I shouldn't bother looking, | anymore. | | But I think people are being hoist by their own petard. | I'm seeing folks in their forties, that never had any | issue, finding work, hitting the wall. These were people | that did it to others, when they were working. | | We can't become other races, and we [usually] can't | become other genders, but we _all_ become old, so each of | us will have a turn at the wheel. | novok wrote: | Have you tried the indie software thing like this guy? | How has that been going? I feel like I have enough saved | now that even if I can't get corporate work anymore due | to age (which I kind of doubt due to the age of people | I've worked with in FANG, and the fact I'm already pretty | much a manager of managers, which tends to run older) | that I would be pretty happy doing the indie thing too. | faeriechangling wrote: | I've given a hundred people advice on handling | discrimination at this point, and the thing I always stress | is that it only matters what you can prove, not what | happened. | | Protecting yourself against discrimination doesn't mean | trusting the courts. It means being willing to lie or | mislead people into thinking you aren't in the category of | people who gets discriminated against, making yourself too | much trouble to fire, and finding open-minded employers. | | If you're in a disadvantaged group, you need to pick your | battles, and accept that life isn't fair. | magic_hamster wrote: | Amazing given you can maintain your standard of living. | ChrisMarshallNY wrote: | I had enough saved, to allow myself to do OK. I wasn't | planning on retiring for another ten years, but I wasn't | really given a choice. | Almondsetat wrote: | Isn't $5800/month a shit ton of money in Romania? Who even gets | paid similar amounts there? He mentions a consulting job, but you | don't consult as many hours a month as a salaried person | alin23 wrote: | Yes, it's a lot of money in Romania. I could live very | comfortably if that would continue being the case. If I had my | own place. | | My "not bad" remark is because I still can't afford housing | with all the money I make. I've been living in rent since | college >10 years ago and I'm sick of it. You get no legal | benefits when renting in Romania, everything is done by hiding | from the state and local authorities. So you can't even get a | family doctor in your area. | | Me and my wife have been trying to buy a house for the last 4 | years and even tried to renovate a 100 year old house in an | isolated village because it was all we could afford. Long story | but we got scammed, the land plot is unusable in its current | state. | | Housing prices are so out of control here that even with that | consulting money I would still need to not spend anything for a | year to be able to afford a house that doesn't need heavy | repairs and has all the paperwork in good order. It's very | common here to sell houses that were built without a permit. | int0x80 wrote: | Very interesting and inspiring post. I am considering also to | start my own indie software business, this is great information. | threecheese wrote: | I am a paying customer and regular user of Lunar and Rcmd (for | which I might have paid more than 12 bucks, just sayin) and I am | pretty sure I saw Clop on Setapp and was thinking of trying it. | I'm glad to have the opportunity to give feedback: your app and | website design aesthetic really makes you stand out from most of | the "popular Mac app" authors (you know who you are), which have | a very much Web1.0 look and feel (and many of these rockstars | have been writing for the platform that long). I look forward to | whatever comes next, and I always poke around when I see one of | your links hit Reddit or wherever. | alin23 wrote: | Thank you! Wow, that's.. I'm glad to read all that. Warms my | heart. | perardi wrote: | I just browsed the article, and missed you make Lunar until | this comment. | | Fantastic work. Absolutely critical for taming the weirdness | of my LG 5K display. | hankchinaski wrote: | It's difficult to find but as a freelancer you can find a middle | ground working on interesting projects with radical autonomy | earning $100/hour | rubymamis wrote: | Thanks for sharing! What factors contributed to higher earnings | from some apps compared to others? | xrd wrote: | I'm really curious how you found that MacOS consulting work. I | have been battling MacOS build problems for years and so agree it | is a rare and important skill. But I've yet to find the right | place to sell that skill. | edandersen wrote: | Romania levvies "corporate income tax" on revenue and not profit? | Wow. | wsh wrote: | The author writes, about his purchases of computers, phones, and | other hardware, "These are not recurring so I can't count them | in." | | Here in the U.S., many such items would be considered capital | assets, for which the cost would be recognized as an expense over | time through depreciation, for both management accounting and tax | purposes. It appears Romanian practice is similar; see | "Depreciation" on this page: | | https://taxsummaries.pwc.com/romania/corporate/deductions | tomschwiha wrote: | Here in Germany its similar, maybe its could be worth for the | author to consult a tax consultant as he may be missing out | quite some money. Also a wage you pay yourself is usually | better off for tax readons - that's why the maximum wage you | can pay yourself as business owner is limited. | dazhbog wrote: | Agree about the accountant, they are expensive in some | countries, but usually worth it. | | Can you elaborate on your last point? For salary you still | need to pay >20% income tax + social insurance, and for | dividends you still need to pay >20% after you just paid your | corporation tax >15%. | | I'm curious, why its better to pay yourself more, when your | laptop, phone and even food can be covered by the company? | (Assuming a single founder company, doing everything legally) | Jhsto wrote: | Anecdotally relevant to employees too: sometimes companies (and | even public organizations like universities) let you keep the | hardware they buy for you after it meets the 3 years | depreciation rule. | andsoitis wrote: | _"In your world, people are used to fighting for resources... | like oil, or minerals, or land. But when you have access to the | vastness of space, you realize there 's only one resource worth | fighting over... even killing for: More time. Time is the single | most precious commodity in the universe."_ | | -- Kalique Abrasa, Jupiter Ascending | madsbuch wrote: | > But I like to believe that with that difference of $12k I'm | buying time. | | As long as the semi-passive income from the apps leaves a bit to | be saved every month, and there are better things to spend life | on, then it seems to be a good choice. | | However, modern money system functions well enough that earning a | lot a money in a period of time will afford not having to do that | later. The question on what to spend time on is definitely harder | a priori than a posteri. | justinclift wrote: | > But I like to believe that with that difference of $12k I'm | buying time. | | Sounds like a "lifestyle" business. One which provides income to | meet (and exceed) your needs, but you're not stuck head down to | the grindstone as life passes by. :) | justinclift wrote: | > A bare metal Hetzner server: $600 | | Alin, are you ok to share the specs of that server? I'm | interested mainly because I'm a server guy and have a bunch of | stuff at Hetzner, but nothing (yet) big enough to be US$600 for a | single server. :) | bbatsell wrote: | The entire article is discussing annualized numbers, so | $50/month, a fairly middling Hetzner server. | justinclift wrote: | Thanks, very good point. Completely didn't realise that. :) | SushiHippie wrote: | (Not OP) | | The cheapest are EUR44.76/month so that's already ~$600 (if you | want your server to be located in germany you are already at | minimum EUR51.36/month which would be ~$680) | | But you can get better bang for buck on the | "serverborse"/server auction. (That's what I'm currently | renting) | | https://www.hetzner.com/sb | | But if you want to have large storage while also using RAID + a | decent amount of RAM you'll still get to the ~$600 per year | pretty easily. | | I don't know what you have at hetzner, maybe you are thinking | about VPS? | | EDIT: ah okay, you thought it was $600/month? | fells wrote: | Great blogpost and congrats to OP on the success. | | As someone who, in a past life, also sold apps on the Mac App | Store (with some success), I could never escape the sense of | insecurity, whether it be Apple "breaking" (or fixing?) things | every WWDC, constant pursuit of the next idea, or potential | competition. Not to mention, the fact that sometimes reviews | seemed oddly personal and the occasional rude customer support | emails could ruin a day. (This all probably says more about my | own mental psyche than anything and I'm glad some people thrive | in it.) | | In the end, I felt more comfortable doing the 9-5 engineering | job, but it was definitely worth it and really taught me to be | self-sufficient and exploratory in software development. | alin23 wrote: | Yeah, nothing can protect your heart from the inevitable 1-star | review that makes you want to punch that human through your | screen. | | Thankfully, my best selling apps are published on my website, | where I don't have reviews. I have a contact form which can | lead to the same disappointing messages, but at least they're | not public and don't stay there forever. | | But yes I understand you, I had many periods when I | contemplated going back to a "normal" job. | dinkblam wrote: | > The disadvantage of using a Merchant of Record like Paddle is | that I don't get to reclaim the VAT at the end of the year. > | That's because it's some kind of B2B relation: > I sell them my | app in gross with 0% VAT, and then they resell it and collect | taxes themselves. | | thats confused and wrong. it doesn't matter one bit if the | merchant-of-record collects and remits VAT or if you do it | yourself. the money ain't yours either way. | | what does matter in a big way for small business is VAT liability | in the first place. merchants-of-records like Paddle and the | various AppStores are basically liable for VAT in every country | around the world. | | however a small business (like in this example with 100k revenue) | is not VAT liable everywhere because VAT thresholds are often | much higher. if you sell directly (e.g. via Stripe), you don't | have to collect the VAT when selling in most jurisdictions except | Europe. so you can either offer the product for 20 percent less | and have a more competitive price or increase the price by the | VAT and pocket it yourself instead of having to give it to the | government of the customer. | | if believe this makes a huge difference for small companies but | is rarely mentioned. | underwater wrote: | Interesting to compare the commentary about paying taxes vs app | store fees. The effective tax rate for income and healthcare for | "corrupt politicians to line up their greasy pockets" is very | close to the 15% that Apple charges as a fixed percentage. But | the latter passes without judgement. ___________________________________________________________________ (page generated 2023-12-24 23:00 UTC)