I didn't downvote you FYI, but to answer your question, I run ridewithgps and as a result have a pretty in depth understanding of all the costs involved.

We have 14 machines in a rack at a datacenter in PDX, and have focused on low hosting costs since we have historically been bootstrapped and margin sensitive. Redundant switches, 2 firewall/load balancers, 4 compute machines, 3 database machines, 5 storage servers. Single upstream network provider, about to be two sometime next year. Rack space + power + redundant network is about $3500 a month. Machines have an average service life of about 5 years.

Database machines cost about $45k for a set of three.

Storing user data is non-trivial - GPS track files add up when you get close to a billion of them, photos are also very large. We use a self-hosted ceph object storage cluster of 5 machines, about $100k of hardware. it's cheaper than 20k a month in S3 bills.

Our rack all-in is probably about $250k of equipment. 5 year service life, probably $5k a month amortized out. So, doing things as cheap as possible (I buy nvme SSDs for storage cluster off ebay, and am about to buy a couple arista 100gbe switches from ebay as well) we are somewhere around $8500 a month on hosting.

We use both google maps as well as self-hosted OSM based map and routing services. About half our map usage goes to google, by user preference, and we pay them about $20,000 per month for that. Our self-hosted OSM map stuff require 1tb of ram, fast disks, a ton of CPU cores. We host 10 different planet scale routing profiles via graphhopper, which take 3 days to build every week with updated data. They also host a vector maps stack which is much more efficient, taking about 3 hours a week to build.

My last estimate of an AWS bill for all the above was $30k a month, assuming some discounts. We have grown since then and I'd napkin us to be > $40k a month at this point.

We strive to minimize any costs for third party platforms. We do use amplitude for analytics, that's > $30k a year at this point. We do use an external email service for easy marketing emails, but the majority of our millions of emails a month are sent from our own mail servers, using an in-house system we made a decade ago that still works well. We try to minimize vendor lockin and costs, where it makes sense.

Most expensive part of the entire company of course is salaries, with of course an eye to developer and related salaries. We run pretty bare bones where possible, with a flat management structure with minimal overhead. Our total staff size is 32, of which 6 are full-time end user support.

A bit of a ramble, sorry, but there's a large amount of overhead to run a system like ours. We don't just make a one-time use desktop application, we have to continually provide storage and compute for all users. If we stopped that, the entire service would fall apart. So yes, a subscription makes sense in a case like ours. You can't do what we do with a desktop app. Plus, the entire world has switched to mobile for this sort of consumer application, which is an entire rat race of it's own. You can't just release a single purchase app and expect it to be maintained, it's a massive effort to keep up with mobile development just to maintain features, much less build anything new.