Running costs of a SaaS

Last updated:

My attempt at answering the age-old question: how much does it cost to start and run a (bootstrapped) software company?
service description cost / unit
Hexadecimal Monitoring Hexadecimal web app and a static site (the one you're currently on). Talk about dogfooding. $8 / month
Fastmail Business email. Snappy web interface and your support requests don't go to /dev/null. $5 / month
Sendgrid Transactional email. Generous free plan, but I have had a few problems in the past. $0 / month
Cloudflare Domain registration and DNS servers for the root domain and all subdomains. I use CNAME flattening so that Netlify can point to the root domain. Caveat: you can't change name servers (NS records) once your domain is administered by Cloudflare Registrar. Switched from iwantmyname (they're also great). $8.03 / year
Netlify The site you're on is hosted on Netlify. They handle certificate renewals and the whole asset pipeline. I recently migrated to a static site generator called Middleman. Other than that, the static site is comprised of plain old HTML and CSS files, with sprinkles of JavaScript for interactivity. Result: ~3KB web pages (when gzipped) that load in less than 500ms. The website works fine on potatoes^H^H^H low-powered phones, and I get the accessibility and SEO out of the box, although I don't support ancient browsers. $0 / month
Heroku Hosting a Rails 6 app. Also, application metrics, such as response time, throughput, memory usage, and a few Ruby specific ones. This obviates the need to use a third-party application performance monitoring SaaS. All pages are rendered on the server. They take care of certificate renewals. $7 / month
Redis Cloud Managed Redis hosting, since AWS ElastiCache doesn't allow outside access to the cluster (technically, you can connect either via SSH tunnel or a proxy NAT instance, but it is too duct tapey). $10 / month
Papertrail Aggregating logs from Heroku. For privacy and performance reasons, I don't use third-party analytics, so it is the only window inside the app. I set up alerts that notify me whenever logs match some predefined regex rules (errors, exceptions, warnings, etc..). $0 / month
AWS EC2 4 background workers distributed globally. Running on t3a.micro with one Elastic IP attached to each of them. The daily cost also incorporates mysterious EC2-Other category. Once business reaches a certain scale and I have more usage data on my hands, I will probably switch to reserved instances. I am using $5000 credit from the Stripe Atlas to cover my monthly bill (on top of the free tier). $1.39 / day
AWS RDS Managed Postgres hosting. db.t3.micro with Multi-AZ failover. Backups are retained for 10 days. Encryption at rest and in transit. I use a custom parameter group that forces SSL on all connections. $1.05 / day
AWS CloudFront CDN for static assets (for the web app only). $0 / month
AWS SNS Sending SMS messages. One downside is that I can't purchase fixed phone numbers, which means I can't whitelist those numbers on my phone (for the Don't Disturb mode on iOS). ¯\_(ツ)_/¯
Github Hosting for git repos. As of today, a static site and a web app live separately. I configured Netlify and Heroku to automatically deploy code once I push to the master branch of those repos. I deploy to workers manually, using Capistrano. Lots of manual copy and paste between HTML and CSS files, which is less than ideal. $0 / month
Slack I have built and currently maintain a Slack app. $0 / month
Google Search Console Helps to see how I'm ranking for various keywords (and how many folks search for them), what backlinks point to me, and other SEO shenanigans. $0 / month
Stripe Payments Payment processing. Additional 1% for foreign currency conversions. 2.9% + $0.3 / charge
Stripe Radar Payment fraud detection and prevention. $0 / charge
Stripe Billing Recurring subscriptions, payment recovery, revenue analytics, invoices & receipts generation, and partial EU VAT compliance. First $1 million is processed for free. The whole SCA thingie could have been handled better, especially documentation part. 0.4% / charge
Stripe Atlas They help you to incorporate a Delaware C Corp or LLC, open a bank account, and give you a bunch of perks, such as $5000 AWS credit. I couldn't open an LLC (for some reason), so I have to roll with a C Corp for now. I will probably switch to LLC at some point in the future since I have no intention whatsoever of raising venture funding (C Corp adds unnecessary overhead). $500 / once
Rocket Lawyer Companies formed in Delaware are required to maintain a registered agent in the state. The first year is included in the Stripe Atlas' application fee. $100 / year
Silicon Valley Bank Business checking account that (optionally) comes with Stripe Atlas. Meh. $25 / month
pass Free and open source command line password manager for Unix. Each password lives in a separate GPG encrypted file. Using Git to track changes. I don't have team members, so there is no need to share passwords or keys. Switched from KeePassXC. Passwords are one of the few things I'm not comfortable storing on someone else's computer (i.e. cloud). $0 / month
Authenticator Free and open source two-factor authentication app for iOS. Switched from FreeOTP. $0 / month